從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