作者eagle32 (バスケがしたいです)
看板C_and_CPP
标题[问题] atomic operation 与 计算效率问题
时间Tue May 24 22:35:02 2022
我的经验是使用 cpu 做平行计算时, 应该尽量避免 atomic operation, 因为计算效率可以不会太好.
但当用 gpu 做平行计算, 这个经验还可靠吗?有没有很容易因为计算单元超多, 而弥补了计算单元的等待时间?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.76.184 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1653402904.A.82F.html
1F:推 wulouise: 你想说的是lockless或不用atomic type? 05/24 23:57
2F:→ eagle32: 望文生义猜测是lockless. 看了以下这篇讨论,我想gpu 的 05/25 00:37
3F:→ eagle32: atomic operation 应该跟cpu的表现不太一样。 05/25 00:37
5F:→ eagle32: ic-operations-on-global-memory-in-cuda-performed-in- 05/25 00:37
6F:→ eagle32: parallel-across-a-wa 05/25 00:37
7F:→ tinlans: 主要还是看处理器架构,有些架构可以选用不同 memory 05/25 02:20
8F:→ tinlans: model 来避免效能损失太严重。 05/25 02:20
9F:推 wulouise: gpu没有人在同步资料的吧 都是算完一起拿回来 05/25 09:01
10F:→ wulouise: 应该说要同步的话 那当初就不要用gpu 05/25 09:02
11F:→ eagle32: 谢谢大家的回覆,还有很多技术细节不懂,因为时间有限, 05/26 11:28
12F:→ eagle32: 还没好好学习一下。 05/26 11:28
13F:推 suspect1: 我猜指的是MCU的atomic instruction吧?为了微控制器在 06/17 20:10
14F:→ suspect1: 处理重要任务时,为了防止其他硬体中断的干扰,或是在多 06/17 20:11
15F:→ suspect1: 执行绪下,Muti-threads彼此发生race condition 06/17 20:13
16F:→ suspect1: 才会适度的使用atomic,但你也可以用semaphore、 06/17 20:15
17F:→ suspect1: spin lock来处理。atomic 指令是在你执行保证不会被中断 06/17 20:17
18F:推 suspect1: 用GPU当然会计算速度当然远大於MCU/CPU 因为本来就是 06/17 20:21
19F:→ suspect1: 用来计算大量的矩阵运算的,要不然为什麽要买显卡 06/17 20:23
20F:→ suspect1: 显卡来挖矿? 06/17 20:24