Upload
adrienne-finley
View
59
Download
0
Embed Size (px)
DESCRIPTION
GPU クラスタにおける並列一次元 FFT の実現と評価. 高橋大介 筑波大学システム情報系. 発表内容. 背景 目的 Six-Step FFT アルゴリズム GPU クラスタにおける並列一次元 FFT 性能評価 まとめ. 背景. 近年, GPU ( Graphics Processing Unit )の高い演算性能とメモリバンド幅に着目し,これを様々な HPC アプリケーションに適用する試みが行われている. - PowerPoint PPT Presentation
Citation preview
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
GPU クラスタにおける並列一次元FFT の実現と評価
高橋大介筑波大学システム情報系
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
発表内容
• 背景• 目的• Six-Step FFT アルゴリズム• GPU クラスタにおける並列一次元 FFT• 性能評価• まとめ
2
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
背景• 近年, GPU ( Graphics Processing Unit )の高い
演算性能とメモリバンド幅に着目し,これを様々なHPC アプリケーションに適用する試みが行われている.
• また, GPU を搭載した計算ノードを多数接続したGPU クラスタも普及が進んでおり, 2013 年 6 月のTOP500 リストでは NVIDIA Tesla K20X GPU を搭載した Titan が第 2 位にランクされている.
• これまでに GPU クラスタにおける並列三次元 FFTの実現は行われている [Chen et al. 2010, Nukada et al. 2012] が,並列一次元 FFT については我々の知る限りまだ実現されていないのが現状.
3
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
目的• GPU クラスタにおける並列一次元 FFT の実現を行
う.• 筑波大学計算科学研究センターに設置された GPU
クラスタである HA-PACS ベースクラスタにおいて性能評価を行う.
4
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
5
離散フーリエ変換( DFT )
• 離散フーリエ変換( DFT )の定義
𝑦 (𝑘 )=∑𝑗=0
𝑛−1
𝑥 ( 𝑗)𝜔𝑛𝑗𝑘 ,0≤𝑘≤𝑛−1,
where𝜔𝑛=𝑒−2 𝜋 𝑖/𝑛∧𝑖=√−1
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
6
二次元表現• と分解できる場合, DFT の定義式におけるは以
下のように表すことができる.
• 上記の表現を用いると, DFT の定義式を以下のように書き換えることができる.
• 点 FFT を点 FFT と点 FFT に分解している.
𝑦 (𝑘2 ,𝑘1 )=∑𝑗1=0
𝑛1−1
∑𝑗 2=0
𝑛2−1
𝑥 ( 𝑗1 , 𝑗2 )𝜔𝑛2
𝑗 2𝑘2𝜔𝑛1𝑛2
𝑗 1𝑘2𝜔𝑛1
𝑗 1𝑘1
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
7
Six-Step FFT アルゴリズム• 二次元表現から,以下のような six-step FFT
アルゴリズムが導かれる [Bailey90, VanLoan92]:– Step 1: 行列の転置– Step 2: 組の点 multicolumn FFT– Step 3: ひねり係数()の乗算– Step 4: 行列の転置– Step 5: 組の点 multicolumn FFT– Step 6: 行列の転置
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
8
Six-Step FFT に基づいた並列一次元FFT アルゴリズム全対全通信
全対全通信
全対全通信𝑛1
𝑛2
𝑛2
𝑛1
𝑛1
𝑛2𝑛1
𝑛2
𝑃0𝑃1𝑃2𝑃3
𝑃0 𝑃1 𝑃2 𝑃3
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
GPU クラスタにおける並列一次元 FFT ( 1/2 )• GPU クラスタにおいて並列一次元 FFT を行う際には,
全対全通信が 3 回行われる.• 計算時間の大部分が全対全通信によって占められること
になる.• CPU と GPU 間を接続するインターフェースである PCI
Express バスの理論ピークバンド幅は PCI Express Gen 2 x 16 レーンの場合には一方向あたり 8GB/sec .
• CPU と GPU 間のデータ転送量をできるだけ削減することが重要になる.– 行列の転置は GPU 内で行う.– ひねり係数()はテーブルを作成せずに GPU 内で三角関数を
直接計算する.
9
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
GPU クラスタにおける並列一次元 FFT ( 2/2 )• GPU 上のメモリを MPI により転送する場合,以下の手
順で行う必要がある.1. GPU 上のデバイスメモリから CPU 上のホストメモリへ
データをコピーする.2. MPI の通信関数を用いて転送する.3. CPU 上のホストメモリから GPU 上のデバイスメモリにコ
ピーする.• この場合, CPU と GPU のデータ転送を行っている間
は MPI の通信が行われないという問題がある.• そこで, CPU と GPU 間のデータ転送とノード間の
MPI 通信をパイプライン化してオーバーラップさせることができる MPI ライブラリである MVAPICH2 を用いた.
10
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
GPU クラスタにおける並列一次元 FFT ( 2/2 )• GPU 上のメモリを MPI により転送する場合,以下の手
順で行う必要がある.1. GPU 上のデバイスメモリから CPU 上のホストメモリへ
データをコピーする.2. MPI の通信関数を用いて転送する.3. CPU 上のホストメモリから GPU 上のデバイスメモリにコ
ピーする.• この場合, CPU と GPU のデータ転送を行っている間
は MPI の通信が行われないという問題がある.• そこで, CPU と GPU 間のデータ転送とノード間の
MPI 通信をパイプライン化してオーバーラップさせることができる MPI ライブラリである MVAPICH2 を用いた.
11
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
MPI + CUDA での通信• 通常の MPI を用いた GPU 間の通信 At Sender:
cudaMemcpy(sbuf, s_device, …);
MPI_Send(sbuf, size, …);
At Receiver:
MPI_Recv(rbuf, size, …);
cudaMemcpy(r_device, rbuf, …);
• MVAPICH2-GPU を用いた GPU 間の通信 At Sender:
MPI_Send(s_device, size, …);
At Receiver:
MPI_Recv(r_device, size, …);
12
・デバイスメモリのアドレスを 直接 MPI 関数に渡すことが可能.・ CUDA と MPI の転送のオーバー ラップを MPI ライブラリ内で行う.
・ cudaMemcpy を行っている間 は MPI の通信が行われない.・メモリをブロックで分割し, CUDA と MPI の転送をオーバ ーラップさせることも可能. →プログラムが複雑になる.
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
性能評価• 性能評価にあたっては,以下の FFT ライブラリについて性能比較を
行った.– FFTE 6.0β ( GPU を使用)– FFTE 5.0 ( http://www.ffte.jp/, CPU を使用)– FFTW 3.3.3 ( http://www.fftw.org/, CPU を使用)
• 順方向 FFT を 1 ~ 512MPI プロセス( 1 ノードあたり 4MPI プロセス)で連続 10 回実行し,その平均の経過時間を測定した.
• HA-PACS ベースクラスタ( 268 ノード, 4288 コア, 1072GPU )のうち, 1 ~ 128 ノードを使用した.– 各ノードに Intel Xeon E5-2670 ( Sandy Bridge-EP 2.6GHz )が 2 ソケッ
ト, NVIDIA Tesla M2090 が 4 基– ノード間は InfiniBand QDR ( 2 レール)で接続– MPI ライブラリ: MVAPICH2 1.9– PGI CUDA Fortran Compiler 13.6 + CUDA 5.0 + CUFFT– コンパイラオプション:“ pgf90 -fast -Mcuda=cc20,cuda5.0” ( FFTE 6.0β ),
“ pgf90 –fast -mp” ( FFTE 5.0 ),” pgcc -fast” ( FFTW 3.3.3 )
13
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
HA-PACS ベースクラスタ
14
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
HA-PACS ベースクラスタのノード構成
15
1GPU あたり1MPI プロセスを立ち上げる
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
FFT並列一次元 の性能HA-PACS N=2̂ 25× MPI( ベースクラスタ, プロセス数)
1
10
100
1000
1 2 4 8 16 32 64 128
256
512
Number of MPI processes
GFlo
ps
FFTE 6.0(GPU)
FFTE 5.0(CPU)
FFTW3.3.3(CPU)
16
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
FFTE 6.0β GPU( 版)の実行時間の内訳HA-PACS N=2̂ 25× MPI( ベースクラスタ, プロセス数)
00.5
11.5
22.5
33.5
4
1 2 4 8 16 32 64 128
256
512
Number of MPI processes
Tim
e (s
ec)
演算時間
通信時間
17
2013/7/8
「コンピューティクスによる物質デザイン:複合相関と非平衡ダイナミク
ス」平成 25年度第 1回研究会
まとめ• GPU クラスタにおいて並列一次元 FFT を実現し評価し
た結果について述べた.• GPU を用いた場合には CPU に比べて演算時間が短縮さ
れる一方で,全実行時間における通信時間の割合が増大する.– HA-PACS ベースクラスタの 128 ノード, 512MPI プロセスを
用いた場合, 2^34 点 FFT において実行時間の約 87% が全対全通信で占められている.
• MPI ライブラリである MVAPICH2 の新機能を用いることで, PCIe 転送とノード間通信をオーバーラップさせた際のプログラミングが容易になった.
• GPU クラスタ向けの並列 FFT ライブラリを今年度中に公開予定.
18