1> pitch的含義
我們知道,對於記憶體的訪問來說,對準偏移量為2的冪(現在一般要求2^4=16)的位址能獲取更快的速度,而如果不對齊,可能你需要的資料需要更多的訪問次數才能得到。
為了滿足這個條件,對於乙個二維陣列來說(行優先row major),就希望每一行的開頭都滿足「對齊」,那麼如果一行的長度不規整,導致下一行開頭不在指定的位置,那就需要在每一行末尾進行填充(padding),從而使得每一行都對齊,這和bmp格式的畫素儲存是乙個道理。
pitch就是指 每一行的位元組數 + padding的位元組數 。
2 對於你的問題,對應於cpu端的pitch,就是sizeof(int) * 2,對應於gpu端的pitch,就是d_pitch。
c/c++ code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cudamemcpy2d( d_a,
// 目的指標
d_pitch,
// 目的pitch
bmp1,
// 源指標
sizeof
(
int
)*2,
// 源資料pitch
sizeof
(
int
)*2,
// 資料拷貝寬度
2,
// 資料拷貝高度
cudamemcpyhosttodevice);
cudamemcpy2d( bmp2,
sizeof
(
int
)*2,
d_a,
d_pitch,
sizeof
(
int
)*2,
2,
cudamemcpydevicetohost);
cocos 2d中CCUserDefault的使用
cocos 2d中的ccuserdefault的使用非常簡單,網上有一位大神 已經把這個類全部都注釋了,一目了然。非常感謝!下面介紹下這個類的傻瓜用法 1.在需要使用的類中的引入標頭檔案 include support ccuserdefault.h include stdio.h include ...
conv2d函式引數解釋以及padding理解
出處 函式 cnn在深度學習中有著舉足輕重的地位,主要用於特徵提取。在tensorflow中涉及的函式是tf.nn.conv2d。tf.nn.conv2d input,filter,strides,padding,use cudnn on gpu true,data format nhwc dila...
python中2d Python中的2D陣列
在python中建立二維陣列的最佳方法是什麼?我想要的是儲存這樣的值 x y z 這樣我就可以訪問像x 2 y 2 z 2 或x n y n z n 這樣的資料,其中n是可變的。我一開始不知道n有多大,所以我想在末尾附加值。a for i in xrange 3 for j in xrange 3 ...