【发布时间】:2016-01-28 07:14:17
【问题描述】:
我使用 CUDA Binary Utilities 之一的 cuobjdump 来生成 SASS 代码,示例结果如下。这些代码尝试从全局内存中加载。
/*0028*/ IMAD R6.CC, R3, R5, c[0x0][0x20];
/*0030*/ IMAD.HI.X R7, R3, R5, c[0x0][0x24];
/*0040*/ LD.E R2, [R6]; //load
我在哪里可以获得解释每条指令含义的 SASS 代码的完整手册。在“cuda 二进制实用程序”中,它只提供了对指令含义的一般解释。例如它没有解释“R1.cc”、“IMAD.HI.X”和LD.e的含义。
第二条指令是什么意思。我猜第一条是计算每个线程应该加载的内存地址,而第三条指令是将全局内存加载到寄存器中。我不知道第二条指令的含义。
我猜 cuda 会将一些参数信息,如网格大小、块大小和数组基址保存到常量内存中。 在这种情况下,c[0x0][0x20] 是数组的基地址。我的问题是如何获得这些信息。
【问题讨论】:
-
sass 标签用于名为 Sass 的 CSS 预处理器。