旅游网站规划建设,做app和做网站区别,美食网站建设前的市场分析,精通网站建设工资多少【CUDA开发】CUDA面内存拷贝用法总结 标签#xff08;空格分隔#xff09;#xff1a; 【CUDA开发】 主要是在调试CUDA硬解码并用D3D9或者D3D11显示的时候遇到了一些代码#xff0c;如下所示#xff1a; CUdeviceptr g_pRgba 0;
CUDA_MEMCPY2D memcpy2D { 0 };
memcp… 【CUDA开发】CUDA面内存拷贝用法总结 标签空格分隔 【CUDA开发】 主要是在调试CUDA硬解码并用D3D9或者D3D11显示的时候遇到了一些代码如下所示 CUdeviceptr g_pRgba 0;
CUDA_MEMCPY2D memcpy2D { 0 };
memcpy2D.srcMemoryType CU_MEMORYTYPE_DEVICE;
memcpy2D.srcDevice g_pRgba;
memcpy2D.srcPitch nWidth * 4;
memcpy2D.dstMemoryType CU_MEMORYTYPE_ARRAY;
memcpy2D.dstArray array;
memcpy2D.dstPitch nWidth * 4;
memcpy2D.WidthInBytes nWidth * 4;
memcpy2D.Height nHeight;// clear the surface to solid white
checkCudaErrors(cuMemcpy2D(memcpy2D));将设备内存g_pRgba中的数据拷贝到面内存中还有另外一种情况 src GMEM pointer : dpSrc
src GMEM layout : 100x100
dst GMEM pointer : dpDst
dst GMEM layout : 50*50
将src GMEM按行序初始化为0~9999的值
CUDA_MEMCPY2D planeMem;
memset(planeMem,0,sizeof(planeMem));
planeMem.srcMemoryTypeCU_MEMORYTYPE_DEVICE;
planeMem.srcDevice dpSrc;
planeMem.srcXInBytes 25*sizeof(float);
planeMem.srcY 25;
planeMem.srcPitch 100*sizeof(float);
planeMem.dstMemoryTypeCU_MEMORYTYPE_DEVICE;
planeMem.dstDevice dpDst;
planeMem.dstXInBytes 0;
planeMem.dstY 0;
planeMem.dstPitch 50*sizeof(float);
planeMem.WidthInBytes planeMem.dstPitch;
planeMem.Height 50;
cuMemcpy2DUnaligned(planeMem); //如果数据已经对齐则最好使用cuMemcpy2D否则必须使用该函数另外当内存是使用cuMemAllocPitch分配的时候如果内存布局本事不是2的次幂则需要将planeMem的srcPitch和dstPitch设置为通过cuMemAllocPitch得到的pitch参数而不是内存本身的布局大小*sizeof(TYPE)2017-01-26 23:28 张朋艺 pyZhangBIT2010126.com 转载于:https://www.cnblogs.com/huty/p/8517368.html