[问题] atomic operation 与 计算效率问题

楼主: eagle32 (バスケがしたいです)   2022-05-24 22:35:02
我的经验是使用 cpu 做平行计算时, 应该尽量避免 atomic operation, 因为计算效率可以不会太好.
但当用 gpu 做平行计算, 这个经验还可靠吗?有没有很容易因为计算单元超多, 而弥补了计算单元的等待时间?
作者: wulouise (在线上!=在电脑前)   2022-05-24 23:57:00
你想说的是lockless或不用atomic type?
楼主: eagle32 (バスケがしたいです)   2022-05-25 00:37:00
望文生义猜测是lockless. 看了以下这篇讨论,我想gpu 的atomic operation 应该跟cpu的表现不太一样。https://stackoverflow.com/questions/3148345/are-atomic-operations-on-global-memory-in-cuda-performed-in-parallel-across-a-wa
作者: tinlans ( )   2022-05-25 02:20:00
主要还是看处理器架构,有些架构可以选用不同 memorymodel 来避免效能损失太严重。
作者: wulouise (在线上!=在电脑前)   2022-05-25 09:01:00
gpu没有人在同步资料的吧 都是算完一起拿回来应该说要同步的话 那当初就不要用gpu
楼主: eagle32 (バスケがしたいです)   2022-05-26 11:28:00
谢谢大家的回复,还有很多技术细节不懂,因为时间有限,还没好好学习一下。
作者: suspect1   2022-06-17 20:10:00
我猜指的是MCU的atomic instruction吧?为了微控制器在处理重要任务时,为了防止其他硬件中断的干扰,或是在多执行绪下,Muti-threads彼此发生race condition才会适度的使用atomic,但你也可以用semaphore、spin lock来处理。atomic 指令是在你执行保证不会被中断用GPU当然会计算速度当然远大于MCU/CPU 因为本来就是用来计算大量的矩阵运算的,要不然为什么要买显卡显卡来挖矿?

Links booklink

Contact Us: admin [ a t ] ucptt.com