#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]);
}
常量記憶體可以在定義的時候初始化,可以直接在核函數中使用。
轉載于:https://www.cnblogs.com/renhao/p/3380664.html