我有一些用OpenCL和CUDA编写的内核。在AMD事件探查器中运行OpenCL程序时,它允许我查看内核的汇编代码。我想将此与CUDA内核的汇编代码进行比较,以比较两种语言之间的编译器优化。我一直在使用Nvidia Profiler,但是在获取内核的汇编代码方面仍然迷茫。如何做到这一点?
正如Turboscrew提到的,最接近CUDA汇编的是PTX代码。我认为向此答案中添加实际生成PTX代码的方法会更有用。
这可以通过以下方式生成:
nvcc -ptx -o kernel.ptx kernel.cu
kernel.cu
源文件在哪里kernel.ptx
,目标PTX文件在哪里。
另外,这是NVidia的PTX文档的链接:
http://docs.nvidia.com/cuda/parallel-thread-execution/index.html
如果您具有一些组装知识,那么大多数知识都非常简单。虽然有一些特殊的功能可能会有用,但在这些功能中查找更多详细信息将很有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句