|
楼主 |
发表于 2009-1-6 19:57:59
|
显示全部楼层
比如说你第一个WU,如果是正确的为什么还会发出第三个replication?
Validate state Valid 并不代表结果正确
正常的结果,如果返回的初始两个结果一致,就结束了,只有结果不同才会增发replication
我看了,几乎每个CUDA参与的计算都起码有三个replication,我并不是说GPU计算不好,只是这里有漏洞。感觉CUDA计算程序不大对头,似乎跟CPU计算程序得出的结果不同
比如我前面举例的那个WU,
CPU结果是
SSE3 Win32 Build 41 , Ported by : Jason G, Raistmer, JDWhale
CPUID: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Speed: 1 x 2009 MHz
Cache: L1=64K L2=512K
Features: MMX SSE SSE2 SSE3
Work Unit Info:
...............
Credit multiplier is : 2.85
WU true angle range is : 0.431757
Flopcounter: 15840485556059.859000
Spike count: 2
Pulse count: 0
Triplet count: 0
Gaussian count: 1
called boinc_finish
GPU结果却是
SETI@home using CUDA accelerated device GeForce 9600 GT
setiathome_enhanced 6.02 Visual Studio/Microsoft C++
libboinc: 6.3.22
Work Unit Info:
...............
WU true angle range is : 0.431757
Optimal function choices:
-----------------------------------------------------
name
-----------------------------------------------------
v_BaseLineSmooth (no other)
v_GetPowerSpectrum 0.00023 0.00000
v_ChirpData 0.01528 0.00000
v_Transpose4 0.00671 0.00000
FPU opt folding 0.00386 0.00000
SETI@Home Informational message -9 result_overflow
NOTE: The number of results detected exceeds the storage space allocated.
Flopcounter: 331457456.000000
Spike count: 30
Pulse count: 0
Triplet count: 0
Gaussian count: 0
called boinc_finish
</stderr_txt>
]]>
注意红字部分
[ 本帖最后由 ipooo 于 2009-1-6 20:22 编辑 ] |
|