我正在写一个执行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
谢谢,那就是我一直在寻找的! –