我想读取一个文本文件并将其存储在一个数组中。然后,我想将数组从主机传输到设备并将其存储在共享内存中。我编写了以下代码,但与使用全局内存相比,执行时间有所增加。我无法理解原因可能是什么?此外,如果有人可以帮助我使用常量内存编写这段代码,那就太好了。
__global__ void deviceFunction(char *pBuffer,int pSize){
extern __shared__ char p[];
int i;
for(i=0;i<pSize;i++)}
p[i] = pBuffer[i];
}
}
int main(void){
cudaMalloc((void**)&pBuffer_device,sizeof(char)*pSize);
cudaMemcpy(pBuffer_device,pBuffer,sizeof(char)*pSize,cudaMemcpyHostTo Device);
kernel<<<BLOCK,THREAD>>>(pBuffer_device,pSize);
}