从NVIDIA CUDA C Programming Guide: 注册用法可以使用编译器maxrregcount 选项控制或如启动界描述启动边界。 从我的理解(和纠正我,如果我错了),而-maxrregcount限制寄存器整个.cu文件可以使用的数量,__launch_bounds__预选赛定义每个__global__内核maxThreadsPerBlock和minBlocksPerMultip
我试图让使用NVCC选项 --ptxas-options=v我CUDA内核有关的寄存器使用情况的信息,并同时与全球功能一切正常,我有一些困难由于 ptxas info : Used N registers 线设备那些缺少在输出中。我试图使用noinline关键字,并将它们保存在另一个文件中,与调用全局函数有关,因为我认为NVCC报告了全局函数的全部注册使用情况,包括内联后的被调用设备的全局函数,但
更大此代码工作正常: #include <stdio.h>
#define N 1000 // <-- Works for values < 2^16
__global__
void add(int *a, int *b) {
int i = blockIdx.x;
if (i<N) {
b[i] = 2*a[i];
}
}
int main(
typedef struct {
long long int mem_0;
} Tuple1;
typedef struct {
int tag;
union {
struct Tuple1 Union0Case0;
} data;
} Union0;
C:/Users/Marko/Documents/Visual Studio 20