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]);
}

  常量内存可以在定义的时候初始化,可以直接在核函数中使用。

posted @ 2013-10-21 15:23  戴安澜式编程  阅读(2601)  评论(0编辑  收藏  举报