CUDA C语言中可以嵌套汇编语句吗

现在,我想实现每个线程执行一条指令,而不是一条语句,有没有什么方法可以实现CUDA C里面嵌套汇编。

你好,您可以在您的kernel里面嵌入PTX代码来实现这一点。
欢迎来到cudazone,祝您编码愉快~

能不能具体说明一下 我现在想让每个kernel就执行add这个指令 和有关存储的其他指令先做好 我就 我就要看到每个kernel 只执行add 能否具体说明一下 非常感谢

您可以查看一下cudatoolkit自带的ptx isa的pdf文档,或者
http://docs.nvidia.com/cuda/parallel-thread-execution/index.html
这里的在线文档。

祝您编码愉快~

CUDA 暂不支持直接利用最底层的ISA进行编程。
PTX是编译的中间结果,会被进一步优化,不代表最终程序执行的指令。
不过你可以用cuobjdump对nvcc产生的cubin文件进行反汇编。从而查看nvcc编译后的结果,进而验证是否得到了想要“每个线程执行一条指令”程序。

大神 能否留个邮箱 以后可以询问问题 非常感谢

我现在想实现如何cuda代码嵌套汇编代码 然后可以单一指令重复多次运行。。 还有就是你有关于cuobjdump的详细文档或者教程吗

您可以在CUDA toolkit 自带的文档里面找到cuobjdump.pdf。

如果需要参考PTX的文档这里也有的。

祝您编码愉快。

不是什么大神 呵呵。ice 说得对,你可以参考这些文档,里面有详细的使用方法。
几位版主和我们都会随时关注论坛,如果再有什么问题都可以发到论坛中,我们会尽早回复。如果需要也可以发我论坛里留的邮箱。

cuobjdump是不是只支持计算能力1.0~1.3的cubin文件?

您好,更高版本也支持的。

祝您好运!

但是好像只有采用-sass参数的时候有输出,其他参数都没有输出,这是为啥呢?

用-dump-sass输出的是sass的反汇编,而-dump-ptx则输出的是ptx的。

使用-dump-chenhao可以有效的dump出其他你想要的东西(真的么??)

自从cuda4(如果我没记错的话)之后,生成的可执行文件已经是标准的elf格式了,所以和计算能力无关。

PE和PE32+的exe文件带领COFF格式的.obj文件小弟们默默无语飘过。

Windows和微软默默无语飘过。

我默默无语飘过。

以及,我不认为能否从PE格式的可执行文件(或者elf格式的其他某平台可执行文件)和能否被cuobjdump支持提取其中的cubin并反汇编有关系。外层只是相当于容器,cubin放置里头。

-cubin可是什么都没有输出啊,toolkit是4.2的

-cubin可是什么都没有输出啊,toolkit是4.2的,和debug和release有关系吗?

coff is not ELF.BTW, I mean that works on Linux if I say anything related to CUDA.
I don’t care about windows, HPC don’t care about Windows, and CUDA is based on HPC.

风大您好:
1:横扫斑竹并未说过coff和elf是一样的,实际上前面一直是以两种并行的平台举例子的。

2:16#中内容的关键在于“可执行文件的格式本身并不构成cuobjdump提取cubin并反汇编的一个限制”。而非纠结于具体哪个平台或者哪种格式。

因此您19#回复的内容并没有真正回答您引用的16#的内容。

大致如上,与君商榷。