Nvidia jetson & Tegra:內存選擇

Jetson系列(包括TX1丁频,TX2按声,Xavier等)用的都是SoC芯片裹粤,CPU和GPU集成在一個芯片上终蒂,自然用的是同一個內存,因此GPU可以直接訪問內存上的數據(100多GB/s)而不用受到PCIE的限制(10多GB/s)遥诉。

因此拇泣,在CUDA編程中可以舍棄cudaMemcpy系列函數(相當于在同一個內存上徒勞地復制了一遍),轉而使用zero copy或者統(tǒng)一內存unified memory矮锈。

可以參考官方文檔的說法:
中文https://s0docs0nvidia0com.icopy.site/cuda/cuda-for-tegra-appnote/index.html#effective-usage-unified-memory
英文https://docs.nvidia.com/cuda/cuda-for-tegra-appnote/index.html

3.1. Memory Selection

CUDA應用程序可以使用各種類型的內存緩沖區(qū)霉翔,例如設備內存,可分頁的主機內存苞笨,固定內存和統(tǒng)一內存. 即使將這些內存緩沖區(qū)類型分配在同一物理設備上债朵,每種類型也具有不同的訪問和緩存行為子眶,如表1所示. 選擇最合適的內存緩沖區(qū)類型對于有效執(zhí)行應用程序很重要.

Device Memory

將設備內存用于可訪問性僅限于iGPU的緩沖區(qū). 例如,在具有多個內核的應用程序中序芦,可能存在僅由應用程序的中間內核用作輸入或輸出的緩沖區(qū). 這些緩沖區(qū)只能由iGPU訪問. 此類緩沖區(qū)應與設備內存一起分配.

Pageable Host Memory

將可分頁的主機內存用于可訪問性僅限于CPU的緩沖區(qū).

Pinned Memory

具有不同計算能力的Tegra?系統(tǒng)在I / O一致性方面表現出不同的行為. 例如臭杰,計算能力大于或等于7.2的Tegra?系統(tǒng)具有I / O一致性,而其他系統(tǒng)則不是I / O一致性. 在具有I / O一致性的Tegra?系統(tǒng)上谚中,固定內存的CPU訪問時間與可分頁內存一樣好渴杆,因為它已緩存在CPU上. 但是,在沒有I / O一致性的Tegra?系統(tǒng)上宪塔,固定內存的CPU訪問時間會更長磁奖,因為它不會緩存在CPU上.

建議將固定內存用于小型緩沖區(qū),因為此類緩沖區(qū)的緩存效果可以忽略不計某筐,而且與統(tǒng)一內存不同点寥,固定內存不涉及任何其他開銷. 沒有額外的開銷,如果訪問模式在iGPU上不是緩存友好的来吩,則固定內存對于大型緩沖區(qū)也更可取. 對于大型緩沖區(qū)敢辩,當以合并方式僅在iGPU上訪問該緩沖區(qū)一次時,iGPU上的性能可以與iGPU上的統(tǒng)一內存一樣好.

Unified Memory

統(tǒng)一內存已緩存在iGPU和CPU上. 在Tegra?上弟疆,在內核啟動戚长,同步和預取提示調用期間,在應用程序中使用統(tǒng)一內存需要附加的一致性和高速緩存維護操作. 在計算能力低于7.2的Tegra?系統(tǒng)上怠苔,由于缺乏I / O一致性同廉,所以這種一致性維護開銷會稍高一些.

在具有I / O一致性(計算能力為7.2或更高)的Tegra?設備上,其中統(tǒng)一內存同時緩存在CPU和iGPU上柑司,用于iGPU和CPU經常訪問的大緩沖區(qū)迫肖, 并且重復訪問iGPU最好使用統(tǒng)一內存,因為重復訪問可以抵消緩存維護成本. 在沒有I / O一致性(計算能力小于7.2)的Tegra?設備上攒驰,對于CPU和iGPU經常訪問的大型緩沖區(qū)以及iGPU上的訪問不是重復的蟆湖,統(tǒng)一內存仍然優(yōu)于固定內存,因為固定的內存不會同時緩存在CPU和iGPU上. 這樣玻粪,應用程序可以利用CPU上的統(tǒng)一內存緩存.

固定內存或統(tǒng)一內存可用于減少CPU和iGPU之間的數據傳輸開銷隅津,因為這兩個內存都可以直接從CPU和iGPU訪問. 在應用程序中,可以使用統(tǒng)一內存或固定內存分配主機和iGPU上必須可訪問的輸入和輸出緩沖區(qū).

注意:統(tǒng)一內存模型需要驅動程序和系統(tǒng)軟件來管理當前Tegra SOC上的一致性. 軟件管理的一致性本質上是不確定的劲室,因此不建議在安全的上下文中使用. 在這些應用中伦仍,最好使用零拷貝內存(固定內存).

評估統(tǒng)一內存開銷,固定內存緩存未命中以及應用程序中設備內存數據傳輸的影響很洋,以確定正確的內存選擇.


參考上述網址中Nvidia官方的表述充蓝,下列時候適合用Zero Copy(Pinned memory):

  • small buffers because the caching effect is negligible for such buffers.(小的)
  • large buffers if the access pattern is not cache friendly on iGPU. For large buffers, when the buffer is accessed only once on iGPU in a coalescing manner, performance on iGPU can be as good as unified memory on iGPU.(只訪問一次的)

對于比較大且需要多次訪問的buffer還是應使用統(tǒng)一內存UM。

TODO:
關于Zero Copy和Unified Memory的一些細節(jié)http://www.reibang.com/p/1790b4d41c5a

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谓苟,隨后出現的幾起案子官脓,更是在濱河造成了極大的恐慌,老刑警劉巖娜谊,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異斤讥,居然都是意外死亡纱皆,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門芭商,熙熙樓的掌柜王于貴愁眉苦臉地迎上來派草,“玉大人,你說我怎么就攤上這事铛楣〗ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵簸州,是天一觀的道長鉴竭。 經常有香客問我,道長岸浑,這世上最難降的妖魔是什么搏存? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮矢洲,結果婚禮上璧眠,老公的妹妹穿的比我還像新娘。我一直安慰自己读虏,他們只是感情好责静,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盖桥,像睡著了一般灾螃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揩徊,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天睦焕,我揣著相機與錄音,去河邊找鬼靴拱。 笑死垃喊,一個胖子當著我的面吹牛,可吹牛的內容都是我干的袜炕。 我是一名探鬼主播本谜,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼偎窘!你這毒婦竟也來了乌助?” 一聲冷哼從身側響起溜在,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎他托,沒想到半個月后掖肋,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡赏参,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年志笼,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片把篓。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纫溃,死狀恐怖,靈堂內的尸體忽然破棺而出韧掩,到底是詐尸還是另有隱情紊浩,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布疗锐,位于F島的核電站坊谁,受9級特大地震影響,放射性物質發(fā)生泄漏滑臊。R本人自食惡果不足惜呜袁,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望简珠。 院中可真熱鬧阶界,春花似錦、人聲如沸聋庵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祭玉。三九已至氧映,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脱货,已是汗流浹背岛都。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留振峻,地道東北人臼疫。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像扣孟,于是被迫代替她去往敵國和親烫堤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內容