CUDA数组分配
CUDA數組分配
2013-09-30 10:37 1437人閱讀 評論(0) 收藏 舉報 分類: CUDA(106)http://www.cnblogs.com/traceorigin/archive/2013/04/12/3016540.html
cuda內存分配真是亂啊,這次總結一下數組的分配。
概述:數組分配可以通過cudaMallocArray()和cudaMalloc3DArray()
1、cudaMallocArray()
cudaError_t cudaMallocArray ( struct cudaArray ** array,const struct cudaChannelFormatDesc * desc,size_t width,size_t height = 0,unsigned int flags = 0 )例:2DArray分配
1 cudaArray *d_volumeArray; 2 cudaChannelFormatDesc desc = cudaCreateChannelDesc(32, 0, 0, 0, cudaChannelFormatKindFloat); 3 cudaMallocArray(&d_volumeArray, &desc, 128, 128); 4 cudaMemcpyToArray(d_volumeArray, 0, 0, h_volume, sizeof(float)*128*128, cudaMemcpyDeviceToDevice);2、cudaMalloc3DArray()
1 cudaError_t cudaMalloc3DArray ( 2 struct cudaArray ** array, 3 const struct cudaChannelFormatDesc * desc, 4 struct cudaExtent extent, 5 unsigned int flags = 0 6 )例:
1 cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc<uchar>(); 2 cudaArray *d_volumeArray; 3 cudaMalloc3DArray(&d_volumeArray, &channelDesc, volumSize);
總結
- 上一篇: updatebyprimarykeyse
- 下一篇: 推荐CUDA程序优化的15个策略