1、cudaError_t cudaMallocPitch( void** devPtr,size_t* pitch,size_t widthInBytes,size_t height )
向设备分配至少widthInBytes*height字节的线性存储器,并以*devPtr的形式返回指向所分配存储器的指针。该函数可以填充所分配的存储器,以确保在地址从一行更新到另一行时,给定行的对应指针依然满足对齐要求。cudaMallocPitch()以*pitch的形式返回间距,即所分配存储器的宽度,以字节为单位。间距用作存储器分配的一个独立参数,用于在2D数组内计算地址。如果给定一个T类型数组元素的行和列,可按如下方法计算地址:
T* pElement = (T*)((char*)BaseAddress + Row * pitch) + Column;
cudaMemcpy2D()函数
http://blog.csdn.net/jdhanhua/article/details/4813725
2、cuda bank conflict
http://www.cnblogs.com/biglucky/p/4235009.html
3、纹理
http://blog.csdn.net/kelvin_yan/article/details/54019017
http://blog.csdn.net/moonboat0331/article/details/10589825
http://www.cnblogs.com/qw12/p/6418857.html
http://blog.sina.com.cn/s/blog_4c88d09a0100l688.html