【发布时间】:2011-12-12 09:47:31
【问题描述】:
我正在进行几次 cudamemset 调用,以便将我的值设置为 0,如下所示:
void allocateByte( char **gStoreR,const int byte){
char **cStoreR = (char **)malloc(N * sizeof(char*));
for( int i =0 ; i< N ; i++){
char *c;
cudaMalloc((void**)&c, byte*sizeof(char));
cudaMemset(c,0,byte);
cStoreR[i] = c;
}
cudaMemcpy(gStoreR, cStoreR, N * sizeof(char *), cudaMemcpyHostToDevice);
}
但是,事实证明这非常缓慢。 GPU上是否有memset函数,因为从CPU调用它需要很多时间。另外,cudaMalloc((void**)&c, byte*sizeof(char)) 是否会自动将 c 指向的位设置为 0。
【问题讨论】:
标签: cuda parallel-processing nvidia