[問題] CUDA 如何把2維陣列資料搬到globel mem
假設host 端有一個2維陣列如下
int hst2way[10][10];
該如何把它的內容值搬到GPU上呢?
而且搬過去後,在GPU上也是一個二維陣列。
從Reference Manual查到很多相關的函數
如:
cudaError_t cudaMemcpy2D( void* dst, size_t dpitch, const void* src, size_t
spitch, size_t width, size_t height, enum cudaMemcpyKind kind )
cudaError_t cudaMemcpy2DArrayToArray(struct cudaArray* dstArray, size_t dstX,
size_t dstY, const struct cudaArray* srcArray, size_t srcX, size_t srcY, size_t width,
size_t height, enum cudaMemcpyKind kind)
對於 pitch 似乎是以下的函數產生的:
cudaError_t cudaMallocPitch( void** devPtr, size_t* pitch, size_t
widthInBytes, size_t height)
但此函數好像無法在host memory 上配置記憶體位置。
不論是cudaMallocPitch()中pitch的定義或cudaMemcpy2DArrayToArray()中srcX和srcY的
定義都不是很明確。
請問有人會解決這個問題嗎? 感謝大家
--
◤ ◥ ◣▲◢ ◤≡.◥
蜘蛛人 ◣╳◢ Orz ﹀▲﹀ 老人家 ═ ═
◣_ ◢▲ ◥皿 ◤▲ "︷\│▲
◤ ◤ ◤ ◤ ◤ ◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.128.10
※ 編輯: p03189 來自: 140.113.128.10 (03/28 21:32)
→
03/31 00:04, , 1F
03/31 00:04, 1F
→
03/31 00:07, , 2F
03/31 00:07, 2F
→
03/31 00:08, , 3F
03/31 00:08, 3F
→
03/31 00:09, , 4F
03/31 00:09, 4F
→
03/31 00:13, , 5F
03/31 00:13, 5F
→
03/31 00:14, , 6F
03/31 00:14, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章