回 帖 发 新 帖 刷新版面

主题:[讨论]64位win7中ivf, 为什么计算速度影响结果?

在Property page中将 Optimiaztion 设置为 Custom时,计算结果是:0.1439476   1.903212

            而 将 Optimiaztion 设置为 Maxmize Speed plus Higher Level  Optimiaztions时,计算结果是:0.1440349   7.8000501E-02

为什么结果相差:0.1439476 ?   0.1440349   

程序如下:

Program Main
Implicit None
Integer, Parameter :: N = 70
integer :: i , j , k , l
Real :: V , time1 , time2

open(unit=1,file='dj.dat')

V = 0.0
time1 = 0.0
time2 = 0.0
Call CPU_TIME( time1 )
Do i = 1 , N
    Do j = 1, N
      Do k = 1 , N
        Do l = 1 , N
100       V = V + sin( i * 1.0 ) * cos( j * 1.0 ) * cos( k * 1.0 ) * sin( l * 1.0 )
        End Do
      End Do
    End Do
End Do
Call CPU_TIME( time2 )
Write(*,*) V , time2 - time1
End Program Main

各位大虾,请给理由. 谢谢!

回复列表 (共4个回复)

沙发

高的浮点数计算优化会放弃部分精度的.

板凳

哦,这样看来,计算的时候也不能一味追求速度呀
[em2]

3 楼

有时需要在精度和速度上做一定的取舍:)
所以模型对精度的敏感度也会直接影响计算效率:)

4 楼

首先Custom是啥说不清楚
 Maxmize Speed plus Higher Level  Optimiaztions默认开启fastmath

我来回复

您尚未登录,请登录后再回复。点此登录或注册