7
A
回答
8
巴特的評論基本上是正確的。更詳細地說,如PTX ISA 3.1 manual中所述,
對於某些指令,目標操作數是可選的。可以使用用下劃線(
_
)表示的「比特桶」操作數 來代替目的地寄存器。
實際上在3.1 PTX規範中列出的只有一類指令,其中_
是有效目標:。下面是語義:
原子方式加載在位置的原始值到目的地寄存器d,執行與操作數B的降低的操作和在位置a的值,並存儲在位置指定操作的結果a,覆蓋原始值。
並且對於記:
簡單的減少可以通過使用「位桶」目的操作數「
_
」指定。
所以,我們可以構造一個例子:
atom.global.add.s32 _, [a], 4
這將增加4到內存位置a
有符號整數,並在寄存器不會返回位置a
的前值。所以如果你不需要以前的值,你可以使用它。我認爲,既然atomicAdd的返回值不存儲到一個變量,編譯器會生成此此代碼
atomicAdd(&a, 4);
。
相關問題
- 1. PTX - .reg寄存器位於哪裏?
- 2. 如何做Sonar Bit Bucket OAuth集成
- 3. CUDA PTX代碼%envreg <32>特殊寄存器
- 4. XOR寄存器,寄存器(彙編)
- 5. 解釋GDB寄存器(SSE寄存器)
- 6. bit-bucket - 特定提交的下載文件
- 7. 寄存器JS
- 8. 與寄存器
- 9. 的寄存器
- 10. 寄存器
- 11. 避免在直列PTX
- 12. 寄存器方法faulthandler
- 13. GDB寄存器與處理器寄存器不同嗎?
- 14. XMM寄存器值
- 15. 寄存器讀取
- 16. 寄存器工作
- 17. MPLAB Trace寄存器
- 18. 確定寄存器
- 19. Pthread段寄存器
- 20. 寄存器功能
- 21. ERLANG - wxGrid寄存器
- 22. 通用寄存器
- 23. MIPS $ gp寄存器
- 24. Directx 11寄存器
- 25. Modbus TCP寄存器
- 26. 寄存器值8086
- 27. MIPS寄存器保存
- 28. XMM寄存器存儲
- 29. 在並行Nsight中調試串聯PTX
- 30. 處理器寄存器
如果我沒有弄錯(雖然我最有可能會糾正這個問題))寫入寄存器基本上是沒有操作的。 – Bart
通常,當一個人對指令產生的寄存器結果不感興趣時,只是在指令的副作用中指定一個位桶作爲指令的目標寄存器。例如,對於各種微處理器,比較指令實際上是僞指令,其被實現爲具有被指定爲比特桶的目的地寄存器的減法指令,因爲人們僅對作爲旁路產生的標誌(條件代碼)感興趣,減法的效果。 harrism已經提供了以下專用於PTX的示例比特桶使用情況。 – njuffa