| Item type |
SIG Technical Reports(1) |
| 公開日 |
2019-05-03 |
| タイトル |
|
|
タイトル |
NVLink2.0のCPU・GPU間コヒーレントメモリアクセス機能(ATS)の調査及び深層学習への適用に関する考察 |
| タイトル |
|
|
言語 |
en |
|
タイトル |
Performance of a CPU-GPU coherent memory access function over NVLink2.0(ATS) for deep learning |
| 言語 |
|
|
言語 |
jpn |
| キーワード |
|
|
主題Scheme |
Other |
|
主題 |
HPCシステム |
| 資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_18gh |
|
資源タイプ |
technical report |
| 著者所属 |
|
|
|
日本アイ・ビー・エム株式会社東京基礎研究所 |
| 著者所属 |
|
|
|
日本アイ・ビー・エム株式会社東京基礎研究所 |
| 著者所属 |
|
|
|
日本アイ・ビー・エム株式会社東京基礎研究所 |
| 著者所属 |
|
|
|
日本アイ・ビー・エム株式会社東京基礎研究所 |
| 著者所属 |
|
|
|
日本アイ・ビー・エム株式会社東京基礎研究所 |
| 著者所属(英) |
|
|
|
en |
|
|
IBM Research - Tokyo |
| 著者所属(英) |
|
|
|
en |
|
|
IBM Research - Tokyo |
| 著者所属(英) |
|
|
|
en |
|
|
IBM Research - Tokyo |
| 著者所属(英) |
|
|
|
en |
|
|
IBM Research - Tokyo |
| 著者所属(英) |
|
|
|
en |
|
|
IBM Research - Tokyo |
| 著者名 |
根岸, 康
Tung, Le Duc
今井, 晴基
土井, 淳
河内谷, 清久仁
|
| 著者名(英) |
Yasushi, Negishi
Tung, Le Duc
Haruki, Imai
Jun, Doi
Kiyokuni, Kawachiya
|
| 論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
POWER9 CPU と Volta GPU から構成される IBM Power System AC922 は,GPU が CPU のページテーブルに直接アクセスすることにより GPU から CPU メモリの任意のアドレスへのコヒーレントなアクセスを可能にする Address Translation Services (ATS) 機能を提供している.本稿では ATS 機能を深層学習における大規模モデルサポートのための GPU メモリ仮想化のために使用することを想定して,その使用方法と性能について議論する.我々は,深層学習での行列積計算を想定して,各種メモリ確保方式 (GPU メモリ,Unified Memory,ATS) でメモリを確保,各種計算ライブラリ (cuBLAS,OpenBLAS,NVBLAS) で行列積を計算し,メモリ確保,メモリ初期化,行列積計算,メモリ解放の各実行時間を測定するベンチマークプログラムを作成した.また,IBM Power System AC922 でこのベンチマークの実行時間を測定し,その測定結果について考察した.測定結果によれば,GPU の実メモリ以上のデータの行列積計算を cuBLAS で行う場合 ATS は Unified Memory の4倍以上高速であった.更に ATS メモリの先頭アドレスをページ境界に合わせ,ページアウト不可とすることで Unified Memory の 12倍程度の速度が得られることが分かった.これは OpenBLAS ライブラリにより行列積計算を CPU で行列計算をする場合と比較すると 40倍以上高速である.GPU の実メモリ以上のデータの行列積計算をする場合ライブラリ内で CPU・GPU 間のデータ転送を行う NVBLAS を使用する方法が最速であった.深層学習の大規模モデルサポートの際は,大規模データは ATS 上に配置し,NVBLAS で対応可能な基本行列計算は NVBLAS で,それ以外の演算は GPU 用ライブラリで対応することが最適であると考えられる. |
| 論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
IBM Power System AC922 consisting of POWER9 CPU and Volta GPU provides a function, called Address Translation Services (ATS), which allows the GPU to access the CPU's page tables directly, and enables GPU's coherent access to any CPU memory addresses, such as any stack or heap variables. This report discusses ATS's performance and its application to deep learning. Since matrix multiplication is a dominant calculation in deep learning, we measure and discuss the matrix multiplication performance for deep learning when using ATS on IBM Power System AC922. We develop and use an in-house benchmark to measure execution time of the matrix multiplication with any combination of memory allocation methods (ATS, GPU, Unified Memory) and matrix multiplication libraries (cuBLAS, OpenBLAS, NVBLAS), and measure the execution time of memory allocation, memory initialization, matrix multiply calculation, and memory deallocation separately. According to the measurement results, ATS is faster than Unified memory by 4+ times for matrix multiplication for data larger than physical GPU memory. And it can be optimized more by 3+ times by aligning and pinning the allocated memory, which is faster by 40+ times than CPU calculation. It is the fastest way for matrix multiplication for data larger than GPU physical memory to use NVBLAS. For large model support of deep learning, the fastest way is to allocate ATS for large data, to use NVBLAS for basic linear algebra calculation, and to use GPU programs for other calculations, including deep learning specific functions. |
| 書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN10463942 |
| 書誌情報 |
研究報告ハイパフォーマンスコンピューティング(HPC)
巻 2019-HPC-169,
号 5,
p. 1-6,
発行日 2019-05-03
|
| ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
2188-8841 |
| Notice |
|
|
|
SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc. |
| 出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |