找回密码
 新注册用户
搜索
查看: 13745|回复: 35

CUDA和CPU相比结果差太远了吧....漏洞严重

[复制链接]
发表于 2009-1-6 18:01:53 | 显示全部楼层 |阅读模式
比如某WU http://setiathome.berkeley.edu/workunit.php?wuid=390747995

Task ID
click for detailsComputerSentTime reported
or deadline
explain Server state
explain Outcome
explain Client state
explain CPU time (sec)claimed creditgranted credit111276337842306794 Jan 2009 12:36:24 UTC6 Jan 2009 4:47:16 UTCOverSuccessDone918.7213.900.00111276337947121844 Jan 2009 12:36:21 UTC4 Jan 2009 12:42:15 UTCOverSuccessDone21.360.020.00


我CPU结果是13.9分

CPU time918.7188
stderr out<core_client_version>6.4.3</core_client_version>
<![CDATA[<stderr_txt>Unrecognized XML in parse_init_data_file: computation_deadline
Skipping: 1231673783.136000
Skipping: /computation_deadline
Unrecognized XML in parse_init_data_file: computation_deadline
Skipping: 1231673783.136000
Skipping: /computation_deadline
Windows optimized S@H Enhanced application by Alex KanVersion
info: SSE3 (AMD/Intel, Core 2-optimized v8-nographics) V5.13 by
Alex KanSSE3 Win32 Build 41 , Ported by : Jason G, Raistmer, JDWhale     
CPUID: Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz      Speed: 2 x 2800 MHz     
Cache: L1=64K L2=4096K  Features: MMX SSE SSE2 SSE3  
Work Unit Info:...............
Credit multiplier is :  2.85WU true angle range is :  5.662153
Flopcounter: 5047175677457.560500
Spike count:    0Pulse count:    0Triplet count:  2
Gaussian count: 0called boinc_finish</stderr_txt>]]>
Validate stateValid
Claimed credit13.8980089270704


CUDA居然是0.02分

CPU time21.35654
stderr out<core_client_version>6.4.5</core_client_version>
<![CDATA[<stderr_txt>cudaAcc_initializeDevice: Found 1 CUDA device(s):   
Device 1 : GeForce 9600 GT cuda
Acc_initializeDevice is determiming what CUDA device to use...  
user specified SETI to use
CUDA device 1:
GeForce 9600 GTSETI@home using CUDA accelerated device GeForce 9600 GTsetiathome_enhanced 6.02 Visual Studio/Microsoft C++libboinc: 6.3.22
Work Unit Info:...............
WU true angle range is :  5.662153
Optimal function choices:--------------name

v_BaseLineSmooth (no other)            
v_GetPowerSpectrum 0.00023 0.00000                    
v_ChirpData 0.01814 0.00000                  
v_Transpose4 0.00569 0.00000               
FPU opt folding 0.00190 0.00000
SETI@Home Informational message -9 result_overflow
NOTE: The number of results detected exceeds the storage space allocated.Flopcounter: 1639503412.665662
Spike count:    9Pulse count:    0
Triplet count:  22
Gaussian count: 0called boinc_finish</stderr_txt>]]>
Validate stateValid
Claimed credit0.0181871973840882


这样客户端不同的区别也太大了吧?

[ 本帖最后由 ipooo 于 2009-1-6 18:33 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-1-6 18:05:25 | 显示全部楼层
SETI还待改进啊
回复

使用道具 举报

 楼主| 发表于 2009-1-6 18:17:24 | 显示全部楼层
我看了下这个人的计算,大多数都是这种0.0X计算结果
temp5.jpg

偏偏这种0.0X的分数都能得几十分,看下图:别人算几千秒的包他20秒就完成了,并且还得分了。这样子算来,CUDA类似BOINC的刷分软件了

temp5.JPG

这人COMPUTERID是4712184,你们可以去看看

[ 本帖最后由 ipooo 于 2009-1-6 18:31 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-1-6 18:24:00 | 显示全部楼层
希望谁能把这漏洞反映一下。我英文不好
回复

使用道具 举报

发表于 2009-1-6 19:07:38 | 显示全部楼层
计分机制的问题吧
同一个MB包在gpu下的效率比cpu提升非常大,按照原先的计分模式肯定会获得大积分的..
这不是什么漏洞,因为计算结果都是有效的,只能说评分相对于cpu不合理而已,反观也可以证明gpu在特定计算上的优势..
回复

使用道具 举报

 楼主| 发表于 2009-1-6 19:16:16 | 显示全部楼层
不是,比如说我举例的那个WU,CUDA那不止是计算时间短(20秒完成一个包)而且stderr out结果也不对,里面有

SETI@Home Informational message -9 result_overflow                                      |结果溢出
NOTE: The number of results detected exceeds the storage space allocated.

说明这是个出错的计算结果

而CPU则没这句话。

并不是计算效率或记分机制的问题。我估计是CUDA程序有问题

我说的漏洞是指20秒算出的错误的结果能得正常的分

换句话说别人算一个正确的包要几千秒(1小时=3600秒),他算个错误的包只要20秒,而且都能得分

这不是刷分么?


PS:你可以查下他的COMPUTER id,他算的每个结果0.01的包都是错误的,如果GPU的优势是用错误的结果拿正确的分,这个SETI分数就没意义了。根本无法体现计算量的多少

[ 本帖最后由 ipooo 于 2009-1-6 19:33 编辑 ]
回复

使用道具 举报

发表于 2009-1-6 19:32:44 | 显示全部楼层
同意6楼的观点,我在参与cuda的seti项目,经常会遇到这样的现象,这一点官方一定要修正
回复

使用道具 举报

发表于 2009-1-6 19:36:49 | 显示全部楼层

回复 #6 ipooo 的帖子

那个信息不是结果有问题吧...下面的 note 说是结果数量超出存储分配空间..
WU是有效的,我查看了几个cuda用户,他们完成的任务基本都含有这个信息..

MB任务包是混发给 gpu 和 cpu 用户,结果会有一个对比验证过程..
回复

使用道具 举报

 楼主| 发表于 2009-1-6 19:41:48 | 显示全部楼层
原帖由 BiscuiT 于 2009-1-6 19:36 发表
那个信息不是结果有问题吧...下面的 note 说是结果数量超出存储分配空间..
WU是有效的,我查看了几个cuda用户,他们完成的任务基本都含有这个信息..

MB任务包是混发给 gpu 和 cpu 用户,结果会有一个对比验证过程.. ...



那句话就是提示结果错误,CPU的计算结果也会有这句话,只是出现几率不多,而且出现这句话的结果分数都很低,哪里像CUDA那样高分?

比如我这个包
temp5.JPG

http://setiathome.berkeley.edu/result.php?resultid=1111248498


如果CUDA都有这句话的话,说明CUDA没正确结果

[ 本帖最后由 ipooo 于 2009-1-6 19:45 编辑 ]
temp5.JPG
回复

使用道具 举报

发表于 2009-1-6 19:45:14 | 显示全部楼层
http://setiathome.berkeley.edu/result.php?resultid=1109409115
http://setiathome.berkeley.edu/result.php?resultid=1109409118
同一个计算机上的两个任务, 都是验证有效的,任务信息却不同

我发现出现 Informational message -9 这个信息的量很多,但并不是判定任务结果错误的信息
回复

使用道具 举报

发表于 2009-1-6 19:48:58 | 显示全部楼层
SETI@home 留言板 已经有这个话题

http://setiathome.berkeley.edu/forum_thread.php?id=50766
回复

使用道具 举报

 楼主| 发表于 2009-1-6 19:57:59 | 显示全部楼层
原帖由 BiscuiT 于 2009-1-6 19:45 发表
http://setiathome.berkeley.edu/result.php?resultid=1109409115
http://setiathome.berkeley.edu/result.php?resultid=1109409118
同一个计算机上的两个任务, 都是验证有效的,任务信息却不同

我发现出现 Informat ...



比如说你第一个WU,如果是正确的为什么还会发出第三个replication?

Validate state Valid 并不代表结果正确

正常的结果,如果返回的初始两个结果一致,就结束了,只有结果不同才会增发replication

temp5.JPG


我看了,几乎每个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 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-1-6 20:01:26 | 显示全部楼层
原帖由 BiscuiT 于 2009-1-6 19:48 发表
SETI@home 留言板 已经有这个话题

http://setiathome.berkeley.edu/forum_thread.php?id=50766



看到英文文章真头大.....期待翻译ing
回复

使用道具 举报

发表于 2009-1-6 20:03:03 | 显示全部楼层
sah 里面对 -9 信息没翻到多少资料..
eah 上却又人这样解释:
http://129.89.61.70/forum_thread.php?id=1064&nowrap=true#5896

Once the volume of the file that contains the found signals goes over a certain limit, the application will automatically stop crunching that WU and will generate the "Informational message -9 result_overflow" message.

任务中发现的信号超过一定的限额,程序会自动终止任务计算并发出 -9 这个信息.
回复

使用道具 举报

 楼主| 发表于 2009-1-6 20:07:01 | 显示全部楼层
问题就在这里啊,同一个WU,CPU不会超过限额,CUDA却会超过限额。这不是计算结果不同么。CUDA相比CPU结果不同,计算时间非常短,得分却一样,那不就是说CUDA是刷分器么

[ 本帖最后由 ipooo 于 2009-1-6 20:16 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2025-5-10 23:05

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表