我正在寫一個執行cuda內核的單個頭文件庫。我想知道是否有辦法解決這個問題,或者從nvcc獲得C源代碼輸出?我可以在我的主機代碼上使用cuda而不使用nvcc嗎?
0
A
回答
4
您可以使用CUDA driver API來避免主機語言擴展。它稍微冗長一點,你需要更多的樣板代碼來管理上下文,但這並不難。
通常情況下,您可以編譯爲PTX或二進制有效負載以在運行時加載,但是NVIDIA現在還提供了一個實驗JIT CUDA C編譯器庫libNVVM,如果您想從源代碼獲取JIT,則可以嘗試。
相關問題
- 1. CUDA nvcc慢主機代碼
- 2. 在cuda主機代碼中使用openMP?
- 3. 我們可以使用本地主機上的kml文件嗎?
- 4. .NET - 我可以在現有的Datatable上使用SQL代碼嗎?
- 5. 我可以在CUDA代碼的內核部分使用C++頭文件嗎?
- 6. 我可以使用代碼
- 7. 我們可以在SWING代碼中使用JAVAFX代碼嗎?
- 8. 我們可以在任何代碼行上使用ignore_user_abort()嗎?
- 9. 在這段代碼中,我可以使用別的東西而不是「this」嗎?
- 10. 我可以在Plone portlet上使用z3c.form而不是zope.formlib嗎?
- 11. 使用CMakes CHECK_CXX_COMPILER_FLAG與nvcc/cuda
- 12. 我可以使用我的遊戲的開源代碼嗎?
- 13. 我可以以某種方式構建webassembly代碼*而不使用emscripten「glue」嗎?
- 14. 我可以在此代碼中使用case語句而不是if語句嗎?
- 15. 我可以使用GPL授權我的Matlab代碼嗎?
- 16. 我可以使用FSI來調試我的代碼嗎?
- 17. 我可以使用SyntaxNet作爲我的C++代碼庫嗎?
- 18. 我可以使用循環縮短我的代碼嗎?
- 19. 我可以使用本地主機在SDK中測試XMLHttpRequest()嗎?
- 20. 我可以在共享主機中使用Roslyn CTP嗎?
- 21. 我可以在Apache VirtualHost中使用ProxyPreserveHost和RequestHeader集主機嗎?
- 22. 我可以在robots.txt中使用「主機」指令嗎?
- 23. 我可以從未由nvcc編譯的C++代碼調用CUDA運行時函數嗎?
- 24. 我可以在我的網站上加載部分外部html代碼而不使用iframe嗎?
- 25. 我可以使用此代碼登錄使用對話框嗎?
- 26. 我可以在vs2008上使用HTML5嗎
- 27. 我可以在Azure上使用LoadLibrary嗎?
- 28. 我可以在GAE上使用Spring嗎?
- 29. 我可以在Android上使用PixelMed嗎?
- 30. 我可以在QNX上使用Java嗎?
您可以避免必須通過將內核編譯爲CUBIN或PTX文件來調用nvcc,然後使用驅動程序API加載並執行此操作,最終將調用運行時API的'<<<...> >>'語法調用替換爲['cuLaunchKernel'](http://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXEC.html#group__CUDA__EXEC_1gb8f3dc3031b40da29d5f9a7139e52e15)。 (如果這足夠了,我會詳細說明它並將其轉換爲答案) – Marco13
一句答案是「使用CUDA驅動程序API」。 – talonmies
謝謝,那就是我一直在尋找的! –