回答
它沒有在OpenCL標準中定義。一個warp是由硬件執行的一個線程(CUDA線程並不是真正的線程,並且映射到一個warp上作爲單獨的SIMD元素,並帶有一些聰明的硬件/軟件映射)。它是工作項目的集合,在工作組中可以有多個經紗。
OpenCL子組被設計爲與硬件線程兼容,因此能夠表示OpenCL內核中的變形,但完全取決於NVIDIA決定是否實施子組以及當然是OpenCL子組不能暴露NVIDIA可以爲其扭曲的每一個功能,因爲它是一種標準,而NVIDIA可以在自己的設備上做任何他們喜歡的事情。
也許我應該閱讀硬件線程?我只熟悉操作系統中的軟件線程。 CUDA線程(上下文:每個塊的多個線程)是指硬件線程,軟件線程還是其自己的線程想法? –
所以一個warp是一個硬件線程。 CUDA線程不是硬件線程。一個warp是一個工作項目的集合。一個工作組可以被定義爲(1)一組工作項目,或(2)一組經紗。它是否正確?如果是這樣,可以肯定地說有一個工作項目層次結構:工作組是一個經線集合是工作項目的集合。它是否正確?或者至少這是考慮它的一個好方法嗎? –
或者只是考慮一下就好:工作組是工作項目的集合。而一個扭曲恰好也是一個工作項目的集合。但是,經編和工作組有不同的用途。這是一個更好的方式來思考它嗎? (我希望我能很好地表達我目前的理解/困惑) –
- 1. 我的環境變量是什麼?
- 2. 什麼是環境變量的含義:: = :: \
- 3. 什麼是HTTP_AUTHORIZATION環境變量?
- 4. 什麼是環境變量EBSDIR?
- 5. 什麼是COB環境?
- 6. 什麼是NULL環境?
- 7. 什麼是軟件環境?
- 8. 爲什麼環境變量不變?
- 9. 什麼是OpenCL中的TEX?
- 10. react-native需要什麼環境變量?
- 11. 系統環境變量有什麼用?
- 12. 什麼環境變量用於終端
- 13. 什麼環境變量設置Git Color.UI?
- 14. Rake中的「環境」任務是什麼?
- 15. 什麼是您的Hadoop QA環境?
- 16. 運行環境的作用是什麼?
- 17. 口譯員的環境是什麼?
- 18. JBoss 5的開發環境是什麼?
- 19. 什麼是Laravel的生產環境?
- 20. Autoloads環境的作用是什麼?
- 21. 什麼是nodeunit的生產環境?
- 22. 環境變量的目的是什麼PYTHONPATH
- 23. 默認情況下在kubernetes中創建什麼環境變量
- 24. 什麼是神經網絡環境下的投影層?
- 25. Linux環境下最好的IDE是什麼?
- 26. java環境下的集成體驗是什麼?
- 27. 什麼是在Windows環境下使用shell腳本的好IDE?
- 28. 什麼是網絡編程環境下的「藍皮書」?
- 29. Xcode環境下Valgrind的等價物是什麼?
- 30. 這些奇怪的環境變量是什麼?
未使用太多OpenCL,但我從來沒有聽說過這個術語。 – nbro
nvidia中的warp與amd中的wavefront類似。例如,一個新的amd gpu的每個計算單元都有64個內核,但是當您給它256個寬度的worgroup時,則需要4個波形來完成該256線程工作組。如果一個內核使用很少的內存,它可以讓一個AMD計算單元發出40個波前。計算單位需要4個時鐘才能發出4個波前。但完成可能需要更長的時間。 –
OpenCL沒有定義「warp」。然而,在OpenCL 2.x中,引入了*子組*,其目的*等同於NVIDIA稱之爲「warp」的目的。 –