PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 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-atom
ic-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 因為本來就是用來計算大量的矩陣運算的,要不然為什麼要買顯卡顯卡來挖礦?
繼續閱讀
[問題] 抽離IDE的工具鏈
wei115
[閒聊] C++ LeetCode刷題的寫法
hunter73419
[問題] cannot convert int (*)[size] to int*
tarantula
[問題] 一個演算法的問題
bravooooo
[問題] 有關 error: unknown type name 的問題
datoguo
[問題] 多線程及靜態變數的問題
su27
[問題] fprintf 導致 segmentation fault
eagle32
[問題] implicit conversion
ManOfSteel
[問題] void* 轉型成 非指標型態
anoymouse
[閒聊] 令人驚訝的未定義行為例子
nh60211as
Links
booklink
Contact Us: admin [ a t ] ucptt.com