回答
它沒有在OpenCL標準中定義。一個warp是由硬件執行的一個線程(CUDA線程並不是真正的線程,並且映射到一個warp上作爲單獨的SIMD元素,並帶有一些聰明的硬件/軟件映射)。它是工作項目的集合,在工作組中可以有多個經紗。
OpenCL子組被設計爲與硬件線程兼容,因此能夠表示OpenCL內核中的變形,但完全取決於NVIDIA決定是否實施子組以及當然是OpenCL子組不能暴露NVIDIA可以爲其扭曲的每一個功能,因爲它是一種標準,而NVIDIA可以在自己的設備上做任何他們喜歡的事情。
也許我應該閱讀硬件線程?我只熟悉操作系統中的軟件線程。 CUDA線程(上下文:每個塊的多個線程)是指硬件線程,軟件線程還是其自己的線程想法? –
所以一個warp是一個硬件線程。 CUDA線程不是硬件線程。一個warp是一個工作項目的集合。一個工作組可以被定義爲(1)一組工作項目,或(2)一組經紗。它是否正確?如果是這樣,可以肯定地說有一個工作項目層次結構:工作組是一個經線集合是工作項目的集合。它是否正確?或者至少這是考慮它的一個好方法嗎? –
或者只是考慮一下就好:工作組是工作項目的集合。而一個扭曲恰好也是一個工作項目的集合。但是,經編和工作組有不同的用途。這是一個更好的方式來思考它嗎? (我希望我能很好地表達我目前的理解/困惑) –
- 1. 我的環境變量是什麼?
- 2. 什麼是HTTP_AUTHORIZATION環境變量?
- 3. 什麼是NULL環境?
- 4. react-native需要什麼環境變量?
- 5. JBoss 5的開發環境是什麼?
- 6. 什麼是在Windows環境下使用shell腳本的好IDE?
- 7. java環境下的集成體驗是什麼?
- 8. Xcode環境下Valgrind的等價物是什麼?
- 9. 什麼是網絡編程環境下的「藍皮書」?
- 10. 什麼是環境變量的主要需求?
- 11. 什麼是設置我的環境變量錯了?
- 12. 由ansible識別的環境變量列表是什麼?
- 13. ANDROID環境變量的路徑是什麼?
- 14. 其他的heroku環境變量是什麼?
- 15. 什麼是環境變量的基礎概念?
- 16. 什麼是表示Django環境的變量?
- 17. 什麼是最低要求的環境變量?
- 18. 回形針的環境變量
- 19. 什麼是URL變形?
- 20. 什麼是在集羣環境中
- 21. 什麼是'console`標籤評估環境
- 22. 在Android環境中,「scrim」是什麼?
- 23. 「環境」這個詞是什麼意思?
- 24. 什麼是C/C++開發環境
- 25. 什麼是「延遲環境變量擴展」
- 26. wsgi和django下的krb5ccame環境變量
- 27. 什麼是學習OpenCL的好項目?
- 28. OpenCL內核中__的含義是什麼?
- 29. 爲什麼環境變量沒有在循環中更新?
- 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」的目的。 –