GPU CUDA常量内存使用
#include <cuda.h> #include <stdio.h> int getMulprocessorCount(){ cudaDeviceProp prop; cudaGetDeviceProperties(&prop,0); return prop.multiProcessorCount; } __constant__ int a[10]={1,2,3,4,5,6,7,8,9}; __global__ void add(int *c){ c[1]=a[2]; } int main(){ int *c; int h_c[10]; int mpc = getMulprocessorCount(); cudaMalloc((void **)&c,10*sizeof(int)); add<<<1,1>>>(c); cudaMemcpy(h_c,c,sizeof(int)*10,cudaMemcpyDeviceToHost); printf("num is %d",h_c[1]); }
常量内存可以在定义的时候初始化,可以直接在核函数中使用。