在CUDA中,有__ballot()
,__any()
,__all()
,__popc()
和一組lanemask函數,用於執行warp內所有通道(通常尺寸爲32)的warp投票操作。我想知道在OpenCL中是否有這樣的功能可以在一個波前內執行相同的操作。如果沒有這樣的功能,我可能需要將它們實現爲自己在我的項目中使用的內聯函數。OpenCL中是否有任何warp投票功能?
4
A
回答
3
根據OpenCL v. 1.1 specification,第6.11節「內置函數」,我相信答案是否定的。
但是在NVIDIA GPU上,您可以使用內聯PTX來實現這些功能(或至少this blogger was able to use inline PTX)。
2
其實檢查OpenCL subgroups。他們定義了一些交叉車道功能,如sub_group_all()
和sub_group_any()
以及其他有趣的事情。
小組是一個相對較新的小動物,我不確定誰都支持它。英特爾GPU的實現(實際上是擴展)有一些更有趣的shuffling functions來排列通道(在寄存器文件內)以及明確的塊寫入和讀取。我敢打賭,AMD也支持子組,但我不確定NVidia。
相關問題
- 1. 建模投票功能
- 2. 是否有OpenCL 2.2功能,這些功能在OpenCL C++中可用,但在OpenCL C中不可用?
- 3. 檢查是否有人投票
- 4. 是否有任何替代功能?
- 5. 是否有任何+ - (範圍)投票系統爲Wordpress或只是PHP + JQuery教程
- 6. 哪一個更適合投票功能
- 7. CUDA warp投票函數使代碼變慢?
- 8. 投票欄顯示沒有投票
- 9. 是否有任何c編譯器實現任何C1X功能?
- 10. 是否有類(功能,方法等或任何功能)像下面的功能?
- 11. 檢查客戶是否已投票
- 12. Django:確定用戶是否投了票
- 13. 檢測用戶是否先前投票?
- 14. Facebook通知系統:是否投票?
- 15. 如何投票投票系統?
- 16. 投票功能「沒有Eintrag匹配給定的查詢」
- 17. 投票與長投票
- 18. XSLT中是否有任何一種模板「節點的功能」?
- 19. Apache Sling中是否有任何工作流程功能
- 20. Excel中是否有任何範圍或功能類型?
- 21. Mercurial cgi界面中是否有任何文檔的功能?
- 22. .NET中是否有任何功能測試框架,如JFunc
- 23. 投票 - 票數與投票率?
- 24. 是否有任何功能語言沒有垃圾回收
- 25. 是否有任何具有ScaleGestureDetector和GestureDetector功能的類?
- 26. 你如何使用reddit api投票功能?
- 27. Google像素是否有opencl?
- 28. 是否有任何PowerBuilder的功能,相當於PHP的「爆炸」功能
- 29. 是否有可用於rails 3的投票插件?
- 30. 如何在投票中註冊用戶的投票?
事實上,在我提出這個問題後,我意識到由於OpenCL的跨平臺功能,它可能不會像這些內置功能。我猜想任何硬件特定的功能實現都是不可接受的。然而你最後的評論給了我一些希望。如果有人在AMD的硬件上使用AMD的IL進行內聯功能,我會很開心:-P – gpunerd 2012-07-12 03:43:08
是的,但是,我們可以在nvidia上使用ineline彙編程序,並且子組在openclcl – 2016-06-11 17:14:39