Microsoft PowerPoint - GDEP-GPG_softek_May24-1.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - GDEP-GPG_softek_May24-1.pptx"

Transcription

1 G-DEP 第 3 回セミナー ツールで始める GPGPU なぜ ディレクティブベースのプログラミングが有望なのか? 失敗しない並列プログラミングの始め 2012 年 5 月 加藤努株式会社ソフテック なぜ GPU プログラミング? GPU computing 時代の本流に! 今 何が起きているのか? HPC アーキテクチャはどこへ向かうのか? 確実に移行中 Why? CPU + GPU ハイブリッド型へ 現状の CPU を知るマルチコア CPU の限界性能劣化の原因 GPU を知る性能 能力の違い GPU 活用のための現実的な勘所 プログラミングを知る並列化が必須一般の並列化手法は ディレクティブベース 適用実現性の判断 納得 確信 OpenMP OpenACC 失敗しない並列プログラミングの始め = 背景をきちんと理解した上で うこと 1

2 現状の CPU を知る 現在の CPU の限界 2 今のマルチコア CPU の性能 現在の最先端プロセッサ (Intel / AMD) 高クロック化 SSE/AVXによるベクトル化 マルチコア化 (2,4,6,8,12,16) 理論値 年 プロセッサ名 周波数 Core 数 GFLOPS 電力 2000 Pentium 4 2.0GHz W 2011 Sandy Bridge 3.3GHz W HPC の用途では 高機能演算機構 複数のコアがあっても その能力を十分に活かしきれない 3

3 今のプロセッサ性能の現実 現在の最先端プロセッサ (Intel Sandy Bridge) 姫野ベンチマーク ( 単精度 ) 性能 (GFLOPS) マルチスレッド並列 (OpenMP) With SSE/AVX (-fastsse mp) Without SSE (-O2 mp) シングルスレッド実行 1 ベクトル機構未使用だと並列効果あり With SSE/AVX ( fastsse) 5.96 Without SSE (-O2) スレッドでできるだけ速く実行 ( ベクトル機構 ) 宝の持ち腐れ ベクトル演算機構 (SSE~AVX) マルチコア並列 性能の律速要因 < メモリ帯域使い切り性能飽和 メモリ帯域 (DDR3) PGI 12.4 / Intel(R) Core(TM) i GHz 4 メモリ帯域が性能を支配 姫野ベンチの単精度性能 vs. 倍精度性能 (GFLOPS) マルチスレッド並列 (OpenMP) 単精度 with SSE 倍精度 with SSE シングルスレッド実行 1 単精度 with SSE 5.96 倍精度 with SSE 3.21 倍精度になると性能が約半分に低下 メモリ帯域を使い尽くしている ( 余裕がない ) ベクトル演算機構 (SSE~AVX) を使い切れば マルチコア並列効果が薄れる 現マルチコア CPU の限界 ベクトル演算機構を使わないと マルチコア並列効果が現れる 5

4 最新プロセッサ技術の理想と現実 プロセッサ メーカー曰く SSE 命令からAVX 命令へ ベクトル性能が2 倍に上がるよ! マルチコアを増やす並列効果が上がるよ! 本当かよ! 無理 無理 これらの innovation を否定する訳ではないが HPC 用途の一般ユーザ コードにとっては あまり意味がない ( 高価なプロセッサを買っている!) メモリ帯域の制約多くのユーザにとっての懸念 6 ユーザの要求 数値モデルの大型化 高解像解析を要求 ユーザプログラム レガシーなプログラム資産が存在 1 コア / シングルスレッドしか使っていない 他の CPU コアは死んでいる マルチコア & マルチスレッド化 たとえマルチコア上の並列化を行っても理想性能を享受できず! 計算が終わらない! 7

5 現在の HPC システムの状況 プロセッサ シングル スレッド性能の高速化を競ってきた歴史 高性能 MPU 開発の限界 プロセッサ & システム 熱 = 電 消費 高性能 MPU とマルチコアだけでは 今後の性能 Scalability を満たせない 特に HPC 用途ではアーキテクチャを変革中 現在の Programming Model だけでは 対応できない 8 今後の HPC システム構成 高い電力効率と高い絶対パフォーマンス 本当に 使えるのかな? CPU Accelerator 4~8cores 程度 Multi-core PCI Express Many-core Memory Device Memory NVIDIA GPU ハイブリッド型アーキテクチャ Intel MIC 9

6 今後の HPC システムの方向付け 今後の H/W 方向性 ( ほとんどのベンダーの共通認識 ) Many-Cores CPU + Accelerator ハイブリッド NVIDIA GPU Intel MIC ユーザが直面するレガシー ソフトウェアへの対応 できるだけ簡単に! Re-compile and Run で性能が出せる ツール は存在しない 並列化を行い プログラムの再構築が必須 並列性の抽出必須 10 GPU を知る CPU と GPU のハードウェア的能力の違い マルチコア CPU 並列挙動時のしがらみ NVIDIA GPU スレッドの自由奔放さ 11

7 CPU と GPU の能力の比較 ( ポンチ絵 ) C.I. = CPU 4~16 cores 21~ 50GB/s << 演算コアメモリ帯域 3.8~8 倍 GPU 500~1500 cores ~170GB/s 90W~135W 消費電力 200W 前後 12 マルチコア並列での性能劣化要因 CPU GPU 演算コア スレッドが並列に実行 共有キャッシュ メモリ Coherency 隠蔽技術 21~ 50GB/s メモリアクセスの遅さ (latency=200~800cycle) ~170GB/s 大量のレジスタ群 & cache 13

8 マルチコア並列での性能劣化要因 14 GPU CPU 21~ 50GB/s メモリアクセスの遅さ (latency=200~800cycle) メモリ演算コア自由に実行できず共有キャッシュキャッシュ内容の同期問題 Coherency しがらみ大量のレジスタ群 & cache ~170GB/s 隠蔽技術 16core 限界だよ! キャッシュコヒーレンシの維持 False sharing NVIDIA GPU スレッドの自由奔放さ 15 GPU CPU 21~ 50GB/s メモリ演算コア共有キャッシュ Coherency 基本は自由に動くしがらみ大量のレジスタ群 & cache ~170GB/s 遅延隠蔽技術依存性無しの処理大量のマルチスレッド ready-to-run ループ内演算仕事の固まりメモリ遅延時間スレッド

9 行列積計算の性能 (CPU vs. GPU) 性能の違いはどの程度? 単精度 倍精度 使用プログラミング手法 CPU (GFLOPS) Size : 4096 x 4096 GPU (GFLOPS) 性能比 PGI ACC. Directives PGI CUDA Fortran PGI Fortran + CUBLAS PGI ACC. Directives PGI CUDA Fortran PGI Fortran + CUBLAS CPU : Intel(R) Core i GHz / 4cores 4 スレッド並列性能 GPU : NVIDIA(R) GeForce GTX 580@1544 MHz / 512cores PGI 12.4 Compiler 16 この価値を認めるかどうか?GPU の性能加速性を得る条件 この逆は 性能が出ない条件 17

10 NVIDIA GPU 上の並列性能に係わる要素 並列化可能演算であること Data Parallel 型 GPU 並列化の対象は ループ内 並列時のデータ依存がないこと 多数のスレッドを発生させること 1 次元より 2 次元 2 次元より 3 次元 ループ長が長いこと メモリ負荷が小性能加速性は大きい 計算密度が大きい メモリ データの再利用 (locality) 18 多数のマルチスレッドを発生させること 生成するスレッド数に関係する do i = 1, n r(i) = a(i) * 2.0 1スレッド計算の固まり enddo ( ロジック ) データ依存性無しの保証 N 個 GPU 大量のマルチスレッド ready-to-run do i = 2, n-1 do j = 2, m-1 enddo enddo N x M 個 a(i,j) = w0 * b(i,j) + & w1 * (b(i-1,j) + b(i,j-1) + b(i+1,j) + b(i,j+1)) + & w2 * (b(i-1,j-1) + b(i-1,j+1) + b(i+1,j-1) + b(i+1,j+1)) 1 スレッド計算の固まり Device Memory 大量のレジスタ群と cache Important 小さなループカウントでは 性能効果は望めない 19

11 GPU/CPU の演算時間比較 do i = 1, n r(i) = sin(a(i)) ** 2 + cos(a(i)) ** 2 enddo 生成スレッド数少ない do i = 2, n-1 do j = 2, m-1 a(i,j) = w0 * b(i,j) + & w1 * (b(i-1,j) + b(i,j-1) + b(i+1,j) + b(i,j+1)) + & w2 * (b(i-1,j-1) + b(i-1,j+1) + b(i+1,j-1) + b(i+1,j+1)) enddo enddo ループ長 マイクロ秒 N GPU CPU N / M GPU CPU Core i7 GTX580 Important GPU 上での処理には CPU~GPU 間のデータ転送時間も含まれる (Overhead) 20 GPU 上での性能加速性 GPU 500~1500 cores 自由に動けるスレッド ( コア ) が十二分にある 演算コア メモリ ~160GB/s Latency 200~600cycle メモリアクセスの負荷が小さいと 8 コア程度のマルチコアのレベルとは違う 一方 メモリバウンドな特性の場合は Important CPU のメモリ帯域 対 GPU メモリ帯域 比で性能加速性が支配される 性能の勘所 3.8~8 倍 21

12 演算密度 (Computational Intensity) ループ内の 演算数 と メモリのロード ストア数 との比率を表し 演算とメモリ参照のバランスを見るための指標 C.I. = 浮動小数点演算数 メモリアクセス数 do i = 1, n a(i) = b(i) + c(i) end do メモリアクセス 3 回 演算 1 回 C.I. = C.I. が小さい程 メモリバウンドな特性を帯びる 実効メモリ帯域が 性能 を支配する 演算器が遊ぶ 22 姫野ベンチマークの場合 Computation Intensity for GPU ( 292) do loop=1,nn ( 293) gosa= 0.0 ( 294) do k=2,kmax-1 ( 295) do j=2,jmax-1 ( 296) do i=2,imax-1 ( 297) s0=a(i,j,k,1)*p(i+1,j,k) & ( 298) +a(i,j,k,2)*p(i,j+1,k) & ( 299) +a(i,j,k,3)*p(i,j,k+1) & ( 300) +b(i,j,k,1)*(p(i+1,j+1,k)-p(i+1,j-1,k) & ( 301) -p(i-1,j+1,k)+p(i-1,j-1,k)) & ( 302) +b(i,j,k,2)*(p(i,j+1,k+1)-p(i,j-1,k+1) & ( 303) -p(i,j+1,k-1)+p(i,j-1,k-1)) & ( 304) +b(i,j,k,3)*(p(i+1,j,k+1)-p(i-1,j,k+1) & ( 305) -p(i+1,j,k-1)+p(i-1,j,k-1)) & ( 306) +c(i,j,k,1)*p(i-1,j,k) & ( 307) +c(i,j,k,2)*p(i,j-1,k) & ( 308) +c(i,j,k,3)*p(i,j,k-1)+wrk1(i,j,k) ( 309) ss=(s0*a(i,j,k,4)-p(i,j,k))*bnd(i,j,k) ( 310) GOSA=GOSA+SS*SS ( 311) wrk2(i,j,k)=p(i,j,k)+omega *SS ( 312) enddo ( 313) enddo ( 314) enddo ~/Himeno> pgf90 -fast -Minfo=intensity himenobmtxp.f90 jacobi: 292, Intensity = [symbolic], and not printable, try the -Mpfi -Mpfo options 294, Intensity = [symbolic], and not printable, try the -Mpfi -Mpfo options 295, Intensity = [symbolic], and not printable, try the -Mpfi -Mpfo options 296, Intensity = 1.06 ~/Himeno> pgf90 -fast -Minfo=intensity himenobmtxp.f90 -Mpfo jacobi: 292, Intensity = , Intensity = , Intensity = , Intensity = 1.06 C.I. > 2.0 大きい程良い C.I. < 1.0??? Important GPU の場合は C.I. が大きい程 性能加速率は高くなる 23

13 今までのまとめと今後のユーザの選択肢 HPC H/W アーキテクチャ変革中 1 マルチコアCPUの性能限界 HPC アプリケーション用 CPU Accelerator Multi-core Many-core 4~8cores 程度 PCIe Memory Device Memory HPC 業界への最大の貢献 2 NVIDIA CUDA 環境実効性 ( 性能 ) を実証 Throughput computing 現在のマルチコア CPU の延長シングル スレッド性能に頼る Many-Cores CPU + Accelerator ハイブリッド どうなると思う? プログラムの並列化が必須 24 レガシーなアプリケーション プログラムマルチスレッド並列化に投資していないプログラム シングルスレッド or 並列スケールしないプログラム 現在のマルチコアの能力すら享受していない H/W の進化 = Many-cores 今後のメニーコアの能力も使えない Important 何もしなければ 性能的に取り残されてゆく恐れ 生産性の停滞 研究の遅延 競争力の低下 25

14 プログラミング方法を知る 並列プログラミングの話 26 今後のプログラミングの方向性 どうであれ プログラムの 並列化 がどうしても必要 Re-compile and Run で性能が出せる generic なツール は存在しない 明示的に並列化を行い プログラムの再構築が必須 データパラレル ( ループレベル並列性 ) OpenMP/OpenACC, CUDA タスクパラレル ( 大きな仕事の固まりを分配実行 ) MPI 27

15 今まで行ってきた並列化メソッド 過去のプログラム資産 (Legacy Codes) FORTRAN77 Fortran90/95/03 C/C++ Directives 挿入 Single thread 性能 Auto-Vector Multi-Core 性能 OpenMP CPU の高速化 SSE/AVX マルチコア化 並列化必須 Multi-Node 性能 MPI 今までの延長線上で可能か? Many-cores NVIDIA, Intel MIC 28 ( 復習 ) タスク並列とデータ並列 Program タスク並列データ並列 ( ループレベル並列 ) Single Program Multi Data ( 同じプログラムを異なるデータで ) 複数の解析領域 ( タスク ) に分割 do j=1,m do i=1,n uold(i,j) = u(i,j) enddo enddo GPGPU ループ分割並列処理 k j k j i 1 process i 4 process 全体領域 i,j 方向とも 2 分割 do j = 2,m-1 do i = 2,n-1 resid = (ax*(uold(i-1,j) + uold(i+1,j)) & & enddo + ay*(uold(i,j-1) + uold(i,j+1)) + b * uold(i,j) - f(i,j))/b u(i,j) = uold(i,j) - omega * resid error = error + resid*resid end do k j k j Important ループ分割並列処理 i 6 process i 9 process i, 方向 2 分割 j 方向 3 分割 i, 方向 3 分割 j 方向 3 分割 ループ単位が並列対象 29

16 並列化を行うまでの手間 -MPI - FORTRAN77(Legacy) Include 文で変数 配列の取り込み配列サイズの指定 COMMON 文共通配列の指定 ---- param.inc file parameter n=1000,m=500 common /array/ a(n,m),b(n,m),c(n,m) program main include param.inc.. do j=,1,n do i=1,n (... ) end do dnd do 1 Fortran90/95 1. 配列サイズを自由に変更できるように Dynamic Allocation 型の配列へ変更 2. Moduleを活用し COMMON 化 2 1. 解析空間を領域分割するロジック追加 2. 各領域用の配列演算を 相対アドレス で実行可能になるように変更 3. DOループ インデックスを 相対アドレス 添字に変更 4. 並列実行時にデータ依存性が存在する部分を回避する 5. 袖との通信のためにMPIルーチン追加 分割対象の配列を使用するルーチンの全てを 変更 する必要がある段階的なポーティングができず 30 並列化を行うまでの手間 OpenMP( ディレクティブ型 ) FORTRAN77(Legacy) Include 文で変数 配列の取り込み配列サイズの指定 COMMON 文共通配列の指定 ---- param.inc file parameter n=1000,m=500 common /array/ a(n,m),b(n,m),c(n,m) program main include param.inc #pragma omp parallel for do j=,1,n do i=1,n (... ) end do dnd do 1 1 Fortran90/95 1. 配列サイズを自由に変更できるように Dynamic Allocation 型の配列へ変更 2. Moduleを活用し COMMON 化 2 1. スレッド並列の対象となるループを探すホットスポットを調べる ( プロファイル ) 2. Do ループ内に 並列計算上の依存性がないかを調べる 3. 並列実行したいループに並列化ヒント ( ディレクティブ ) を挿入する 4. テスト & 修正 & 並列化範囲を広げる ソースに大きな変更がほとんどない 段階的なポーティングが可能 31

17 パラレルデータ パラレル現在主流の並列プログラミング方法 MPI プロセス並列 ソースを人が修正 ( 領域分割型へ ) 明示的プロセス間通信関数の追加関連する全ルーチン修正必要タOpenMP OpenACC スレッド並列 ディレクティブ挿入コンパイラが並列コード生成段階的に部分ポーティング CUDA OpenCL 性能最適言語 FFT/BLAS 並列ライブラリ置換 スクGPU 並列プログラミンSource Portability 要 kernel コード作成 +API 追加 x86 系 CPU では動作しない (PGI では可能 ) それなりの作業工数と知識が必要 グGPGPU Computing 利用層の拡大 ライブラリルーチンとの I/F を記述汎用性あるライブラリが必要部分的なソース修正 32 生産性が高い開発環境が求められる! Many Legacy Codes CAE Research/Expert スパコンセンター大学 General Scientists/Engineers life ( 大学 企業 ) Oil 気象 物理 化学 CUDA C/Open CL CUDA Fortran OpenACC easy productivity portability CFD 時間 2007 年 2009 年 2011 年 2012 年現在 33

18 Scientist, Engineer にとっての並列化手法 計算機科学の専門家ではない既存のレガシーコードが多い! CUDA C/Fortran は 開発コストが掛かる! 1. 手間暇をあまり掛けずに それなりの性能を! 2. 新しい H/W 技術革新があっても 以下のことが大事 プログラムソース資産 の可搬性 ( ポータビリティ ) 性能 の可搬性 この 20 年間で最も成功したプログラミングモデル MPI 明示的プロセス並列 OpenMP ディレクティブ ベース ( 生産性 ) ( ポータブル性 ) ( 生産性 ) ( ポータブル性 ) 34 GPU Accelerator 用にもディレクティブ ベース CUDA GPGPU 対応 PGI アクセラレータコンパイラ製品 CAPS HMPP Workbench 2010 年リリース 2 年以上の実装実績 PGI Accelerator Programming Model (directiveベース) 1. 手間暇をあまり掛けずに それなりの性能を! CPU/GPU メモリ帯域性能比の 3~8 倍程度が妥当 2. プログラムソース資産 の可搬性 ディレクティブは コメント行扱い ソースは変化せず OpenACC 標準化で 性能 の可搬性あり 3. 段階的ポーティング可能 GPU プログラムをポータブルかつ高生産性に! OpenACC Standard 35

19 OpenACC Standard とは 2012/3/27 ディレクティブ ベース ( ソース上に指示行を挿入する形態 ) (2011 年 11 月 ) GPU 用 Programming for Fortran/C/C++ PGI Accelerator Directives をベースとして策定された OpenACC コンパイラ PGI ベータリリース中 36 OpenMP の取組 2012/3/27 アナウンス OpenACC 知見妥当性確認反映 取り込み OpenMP 4.0 新バージョン (2012 年 ) 37

20 GPU 上の本来のプログラミング ホスト側 ハイブリッド構成 (CPU+GPU) GPU 側 CPU Main Memory 重い計算部分の処理をオフロード 使用データを送る 結果データを戻す GPU Device Memory Host_A(100) Device_A(100) Host GPU 間のメモリデータの転送が伴う データ転送のオーバーヘッド時間が伴う 38 directive OpenACC コンパイラは何を行うのか? (1) a 配列 b 配列を GPU へコピー!$acc kernels loop gang, vector(128) do j = 1,1000 do i = 1,1000 c(i,j) = a(i,j) + b(i,j) end do end do!$acc end kernels (2) 処理を分割し GPU の並列実行単位にマッピング j=1 ベクトル処理 j=2 j=3 ベクトル処理ベクトル処理 j=4 ベクトル処理 スレッド ブロック に分割 Runtime 監視 j=1000 ベクトル処理 j index 毎に 1x1000 の グリッド で構成 CUDA cores GPU (3) c 配列を Host へコピー 39

21 二種類の並列機構 NVIDIA GPU の並列処理機構 A1 + B1 = C1 A2 + B2 = C2 A3 + B3 = C3 A4 + B4 = C4 NVIDIA Warp ( ベクトル長 ) A1 B1 A2 B2 + = A3 B3 A4 B4 C1 C2 C3 C4 ベクトル長 SIMD 幅とも言う ( この例は 4 ) 各ベクトル要素は同じ処理を行う =32 固定キューイングされ独 に実 される ベクトル処理を行う スレッド ブロック do j = 1,1000 do i = 1,1000 c(i,j) = a(i,j) + b(i,j) end do end do j=1 ベクトル処理 j=2 j=3 j=4 ベクトル処理ベクトル処理ベクトル処理 j index 毎に独立にスレッドで並列処理 1x1000 の グリッド で構成 j=1000 ベクトル処理 CUDA cores 40 プログラムの並列化を行うとは? 41

22 ループレベルで並列化すると言うこと (1) Q. 並列化可能とは? 計算の順番に結果が依存しないこと i 添字に関する順序で並列化 並列化 for( i = 0; i < n; i++ ) { A[i] = A[i] + B[i]; } ループ内配列に依存性がなければ for( i = 0; i < n; i++ ) { A[i] = A[i-1] + B[i]; } 回帰参照という 同じ 配列で定義 ~ 参照関係があるとき依存性の検討要 MPI 並列化 OpenMP 並列化 ベクトル化が可能であると言うことになる 42 ループレベルで並列化すると言うこと (2) Q. 並列化を行うとは? ループ内の依存性を排除するように変更 Q. ディレクティブベースで並列化を行うとは? ループの前に ヒント ( ディレクティブ ) を挿入する OpenMP #pragma omp parallel for for( i = 0; i < n; i++ ) { A[i] = A[i] + B[i]; } OpenACC #pragma acc kernels loop for( i = 0; i < n; i++ ) { A[i] = A[i] + B[i]; } コンパイラが並列コードを生成する マルチコア用並列コード Accelerator(GPU) 用並列コード 43

23 ディレクティブベースでないと辛い場面!$acc kernels loop gang, vector(128) do k = 2,nz-1 km = k-1 k0 = k kp = k+1 do j=2,ny-1 jp=j+1 j0=j jm=j-1 do i=2,nx-1 ip=i+1 i0=i im=i-1 gxxc = lgxx(i0,j0,k0) gxyc = lgxy(i0,j0,k0) gxzc = lgxz(i0,j0,k0) gyyc = lgyy(i0,j0,k0) gyzc = lgyz(i0,j0,k0) gzzc = lgzz(i0,j0,k0) & & & & & & kxxc = 1.5D0*ADM_kxx_stag_p(i,j,k) -0.5D0*ADM_kxx_stag_p_p(i,j,k) kxyc = 1.5D0*ADM_kxy_stag_p(i,j,k) -0.5D0*ADM_kxy_stag_p_p(i,j,k) kxzc = 1.5D0*ADM_kxz_stag_p(i,j,k) -0.5D0*ADM_kxz_stag_p_p(i,j,k) kyyc = 1.5D0*ADM_kyy_stag_p(i,j,k) -0.5D0*ADM_kyy_stag_p_p(i,j,k) kyzc = 1.5D0*ADM_kyz_stag_p(i,j,k) -0.5D0*ADM_kyz_stag_p_p(i,j,k) kzzc = 1.5D0*ADM_kzz_stag_p(i,j,k) -0.5D0*ADM_kzz_stag_p_p(i,j,k) 例えば 600ステップ位のdoループを CUDA Fortran/C 言語 で書き換えることは大変な労力が必要 & detg_tempxx = gyyc*gzzc-gyzc*gyzc detg_tempxy = gxzc*gyzc-gxyc*gzzc detg_tempxz = -gxzc*gyyc+gxyc*gyzc detg_tempyy = gxxc*gzzc-gxzc*gxzc detg_tempyz = gxyc*gxzc-gxxc*gyzc detg_tempzz = gxxc*gyyc-gxyc*gxyc detg_detcg = (detg_tempxx*gxxc+ detg_tempxy*gxyc+detg_tempxz*gxzc) detg_detg = detg_psi4**3*detg_detcg uppermet_fdet = 1d0/(detg_psi4*detg_detcg) uppermet_uxx = detg_tempxx*uppermet_fdet uppermet_uxy = detg_tempxy*uppermet_fdet uppermet_uxz = detg_tempxz*uppermet_fdet uppermet_uyy = detg_tempyy*uppermet_fdet uppermet_uyz = detg_tempyz*uppermet_fdet uppermet_uzz = detg_tempzz*uppermet_fdet fac = idx2*dxdg_psi4 delgb111 = i2dx*(lgxx(ip,j0,k0)-lgxx(im,j0,k0)) さらに 500 行位続く ( 省略 ) dda_dzzda = idz2*(lalp(i0,j0,kp)-2d0*lalp(i0,j0,k0)+ & lalp(i0,j0,km)) cdcda_cdzzda = (dda_dzzda-gamma133*da_dxda-gamma233* & da_dyda-gamma333*da_dzda) dkdt_dkzzdt = lalp(i0,j0,k0)*(ricci_r33-2*kk33+kzzc & *trk_trk)-cdcda_cdzzda ADM_kzz_stag(i,j,k) = ADM_kzz_stag_p(i,j,k)+ & dkdt_dkzzdt*dt end do end do end do 44 5x in 5 Hours: Porting a 3D Elastic Wave Simulator to GPUs Using PGI Accelerator SEISMIC_CPML by Mathew Colgrove, PGI Applications Engineer Version MPI Processes OpenMP Threads GPUs Execution Time (sec) Programming Time (min) Original Host ACC Step x1.00 ACC Step ACC Step ACC Step Problem Size: 101x641x128 System Information: 4 Core Intel Core-i7 920 Running at 2.67Ghz with 2 Tesla C2070 GPU Compiler: PGI 2012 version 12.3 x

24 マルチコア CPU 今日のまとめ 確実に移行 アーキテクチャの変化 CPU + Accelerator ハイブリッド アーキテクチャ Single-thread 歴史が証明 否が応でも並列化必須 プログラミングモデル ( 手法 ) とは 多くのユーザが使えるものでなければならない Multi-threads アセンブリ専用言語 現実解 ディレクティブベース による並列化 1. 高級言語かつ コードの 可搬性 が良いこと 様々な platform/device に対しても同じソースで対応可能 2. 生産 ( 容易 ) 性 に優れていること 基本的に directive(hint) を与えるだけ Step by Step 3. 現実的かつ妥当な性能向上 が得られること CPU/GPU メモリ帯域性能比の 3~8 倍程度 OpenMP / OpenACC 46 そして No 今後のIntel / AMD CPUの行方 これ以上に速くなるのか? 性能はメモリ帯域に依存 YES 本当に GPGPU / Intel MIC の many-core solution に向かうのか? 何もしなければ YES 並列化プログラムへ移行する価値はあるのか? YES 自分のプログラムは 高速化から取り残されていく 並列化プログラミングが必須の時代に突入! 47

25 本ドキュメントに記述された各製品名は 各社の商標または登録商標です Copyright 2012 SofTek Systems Inc. All Rights Reserved. 48

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc 2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア

More information

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 勉強会 @ 理化学研究所 共通コードプロジェクト Contents Hands On 環境について Introduction to GPU computing Introduction

More information

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments 計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];

More information

GPGPUクラスタの性能評価

GPGPUクラスタの性能評価 2008 年度理研 HPC シンポジウム第 3 世代 PC クラスタ GPGPU クラスタの性能評価 2009 年 3 月 12 日 富士通研究所成瀬彰 発表の概要 背景 GPGPU による高速化 CUDA の概要 GPU のメモリアクセス特性調査 姫野 BMT の高速化 GPGPU クラスタによる高速化 GPU Host 間のデータ転送 GPU-to-GPU の通信性能 GPGPU クラスタ上での姫野

More information

修士論文

修士論文 AVX を用いた倍々精度疎行列ベクトル積の高速化 菱沼利彰 1 藤井昭宏 1 田中輝雄 1 長谷川秀彦 2 1 工学院大学 2 筑波大学 1 目次 1. 研究背景 目的 2. 実装, 実験環境 3. 実験 - 倍々精度ベクトル演算 - 4. 実験 - 倍々精度疎行列ベクトル積 - 5. まとめ 多倍長精度計算フォーラム 2 目次 1. 研究背景 目的 2. 実装, 実験環境 3. 実験 - 倍々精度ベクトル演算

More information

HPC143

HPC143 研究背景 GPUクラスタ 高性能 高いエネルギー効率 低価格 様々なHPCアプリケーションで用いられている TCA (Tightly Coupled Accelerators) 密結合並列演算加速機構 筑波大学HA-PACSクラスタ アクセラレータ GPU 間の直接通信 低レイテンシ 今後のHPCアプリは強スケーリングも重要 TCAとアクセラレータを搭載したシステムに おけるプログラミングモデル 例

More information

Itanium2ベンチマーク

Itanium2ベンチマーク HPC CPU mhori@ile.osaka-u.ac.jp Special thanks Timur Esirkepov HPC 2004 2 25 1 1. CPU 2. 3. Itanium 2 HPC 2 1 Itanium2 CPU CPU 3 ( ) Intel Itanium2 NEC SX-6 HP Alpha Server ES40 PRIMEPOWER SR8000 Intel

More information

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード] 200/0/9 数値流体解析の並列効率とその GPU による高速化の試み 清水建設 ( 株 ) 技術研究所 PHAM VAN PHUC ( ファムバンフック ) 流体計算時間短縮と GPU の活用の試み 現 CPUとの比較によりGPU 活用の可能性 現 CPU の最大利用 ノード内の最大計算資源の利用 すべてCPUコアの利用 適切なアルゴリズムの利用 CPU コア性能の何倍? GPU の利用の試み

More information

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 目次 1. TSUBAMEのGPU 環境 2. プログラム作成 3. プログラム実行 4. 性能解析 デバッグ サンプルコードは /work0/gsic/seminars/gpu- 2011-09- 28 からコピー可能です 1.

More information

Microsoft PowerPoint - GTC2012-SofTek.pptx

Microsoft PowerPoint - GTC2012-SofTek.pptx GTC Japan 2012 PGI Accelerator Compiler 実践! PGI OpenACC ディレクティブを使用したポーティング 2012 年 7 月 加藤努株式会社ソフテック 本日の話 OpenACC によるポーティングの実際 OpenACC ディレクティブ概略説明 Accelerator Programming Model Fortran プログラムによるポーティング ステップ三つのディレクティブの利用性能チューニング

More information

スライド 1

スライド 1 GPU クラスタによる格子 QCD 計算 広大理尾崎裕介 石川健一 1.1 Introduction Graphic Processing Units 1 チップに数百個の演算器 多数の演算器による並列計算 ~TFLOPS ( 単精度 ) CPU 数十 GFLOPS バンド幅 ~100GB/s コストパフォーマンス ~$400 GPU の開発環境 NVIDIA CUDA http://www.nvidia.co.jp/object/cuda_home_new_jp.html

More information

並列・高速化を実現するための 高速化サービスの概要と事例紹介

並列・高速化を実現するための 高速化サービスの概要と事例紹介 第 4 回 AVS 可視化フォーラム 2019 並列 高速化を実現するための 高速化サービスの概要と事例紹介 株式会社アーク情報システム営業部仮野亮ソリューション技術部佐々木竜一 2019.08.30 はじめに アーク情報システムの紹介 高速化サービスとは? 事例紹介 コンサルティングサービスについて アーク情報システムの紹介 設立 資本金 :1987 年 10 月 :3 億 600 万円 従業員数

More information

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

VXPRO R1400® ご提案資料

VXPRO R1400® ご提案資料 Intel Core i7 プロセッサ 920 Preliminary Performance Report ノード性能評価 ノード性能の評価 NAS Parallel Benchmark Class B OpenMP 版での性能評価 実行スレッド数を 4 で固定 ( デュアルソケットでは各プロセッサに 2 スレッド ) 全て 2.66GHz のコアとなるため コアあたりのピーク性能は同じ 評価システム

More information

GPUコンピューティング講習会パート1

GPUコンピューティング講習会パート1 GPU コンピューティング (CUDA) 講習会 GPU と GPU を用いた計算の概要 丸山直也 スケジュール 13:20-13:50 GPU を用いた計算の概要 担当丸山 13:50-14:30 GPU コンピューティングによる HPC アプリケーションの高速化の事例紹介 担当青木 14:30-14:40 休憩 14:40-17:00 CUDA プログラミングの基礎 担当丸山 TSUBAME の

More information

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2 FFT 1 Fourier fast Fourier transform FFT FFT FFT 1 FFT FFT 2 Fourier 2.1 Fourier FFT Fourier discrete Fourier transform DFT DFT n 1 y k = j=0 x j ω jk n, 0 k n 1 (1) x j y k ω n = e 2πi/n i = 1 (1) n DFT

More information

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2 ! OpenCL [Open Computing Language] 言 [OpenCL C 言 ] CPU, GPU, Cell/B.E.,DSP 言 行行 [OpenCL Runtime] OpenCL C 言 API Khronos OpenCL Working Group AMD Broadcom Blizzard Apple ARM Codeplay Electronic Arts Freescale

More information

(Microsoft PowerPoint \215u\213`4\201i\221\272\210\344\201j.pptx)

(Microsoft PowerPoint \215u\213`4\201i\221\272\210\344\201j.pptx) AICS 村井均 RIKEN AICS HPC Summer School 2012 8/7/2012 1 背景 OpenMP とは OpenMP の基本 OpenMP プログラミングにおける注意点 やや高度な話題 2 共有メモリマルチプロセッサシステムの普及 共有メモリマルチプロセッサシステムのための並列化指示文を共通化する必要性 各社で仕様が異なり 移植性がない そして いまやマルチコア プロセッサが主流となり

More information

Microsoft PowerPoint - OpenMP入門.pptx

Microsoft PowerPoint - OpenMP入門.pptx OpenMP 入門 須田礼仁 2009/10/30 初版 OpenMP 共有メモリ並列処理の標準化 API http://openmp.org/ 最新版は 30 3.0 バージョンによる違いはあまり大きくない サポートしているバージョンはともかく csp で動きます gcc も対応しています やっぱり SPMD Single Program Multiple Data プログラム #pragma omp

More information

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード] 演算 / メモリ性能バランスを考慮した CMP 向けオンチップ メモリ貸与法の提案 九州大学 林徹生今里賢一井上弘士村上和彰 1 発表手順 背景 目的 演算 / メモリ性能バランシング 概要 アクセスレイテンシの削減とオーバーヘッド 提案手法の実現方法 着目する命令 (Cell プロセッサへの ) 実装 性能評価 姫野ベンチマーク Susan@MiBench おわりに 2 チップマルチプロセッサ (CMP)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 各種計算機アプリケーション性能比較 目次. はじめに. 行列積計算.QDR 積計算 4.N 体問題計算 5. 多次元積分計算 5. 次元積分計算 5. 次元積分計算 5. 4 次元積分計算 5.4 5 次元積分計算 5.5 6 次元積分計算 平成 6 年度第 四半期 . はじめに 今までと少し性質の異なるグラフィックボードが使用できる様になったので従来のアプリケーションで性能比較を実施しました 主に使用した計算機は以下のものです

More information

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8 Web キャンパス資料 超音波シミュレーションの基礎 ~ 第 4 回 ComWAVEによる超高速超音波解析 ~ 科学システム開発部 Copyright (c)2006 ITOCHU Techno-Solutions Corporation 本日の説明内容 ComWAVEの概要および特徴 GPGPUとは GPGPUによる解析事例 CAE POWER 超音波研究会開催 (10 月 3 日 ) のご紹介

More information

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ K20 GPU2 個に対するスピードアップ NVIDIA は Fermi アーキテクチャ GPU の発表により パフォーマンス エネルギー効率の両面で飛躍的な性能向上を実現し ハイパフォーマンスコンピューティング (HPC) の世界に変革をもたらしました また 実際に GPU

More information

研究報告用MS-Wordテンプレートファイル

研究報告用MS-Wordテンプレートファイル マルチコアおよび GPGPU 環境における画像処理最適化 矢野勝久 高山征大 境隆二出宮健彦 スケーラを題材として, マルチコアおよび GPGPU 各々の HW 特性に適した画像処理の最適化を図る. マルチコア環境では, 数値演算処理の削減,SIMD 化など直列性能の最適化を行った後,OpenMP を利用して並列化を図る.GPGPU(CUDA) では, スレッド並列を優先して並列処理の設計を行いブロックサイズを決める.

More information

hpc141_shirahata.pdf

hpc141_shirahata.pdf GPU アクセラレータと不揮発性メモリ を考慮した I/O 性能の予備評価 白幡晃一 1,2 佐藤仁 1,2 松岡聡 1 1: 東京工業大学 2: JST CREST 1 GPU と不揮発性メモリを用いた 大規模データ処理 大規模データ処理 センサーネットワーク 遺伝子情報 SNS など ペタ ヨッタバイト級 高速処理が必要 スーパーコンピュータ上での大規模データ処理 GPU 高性能 高バンド幅 例

More information

Vol.214-HPC-145 No /7/3 C #pragma acc directive-name [clause [[,] clause] ] new-line structured block Fortran!$acc directive-name [clause [[,] c

Vol.214-HPC-145 No /7/3 C #pragma acc directive-name [clause [[,] clause] ] new-line structured block Fortran!$acc directive-name [clause [[,] c Vol.214-HPC-145 No.45 214/7/3 OpenACC 1 3,1,2 1,2 GPU CUDA OpenCL OpenACC OpenACC High-level OpenACC CPU Intex Xeon Phi K2X GPU Intel Xeon Phi 27% K2X GPU 24% 1. TSUBAME2.5 CPU GPU CUDA OpenCL CPU OpenMP

More information

(速報) Xeon E 系モデル 新プロセッサ性能について

(速報) Xeon E 系モデル 新プロセッサ性能について ( 速報 ) Xeon E5-2600 系モデル新プロセッサ性能について 2012 年 3 月 16 日 富士通株式会社 2012 年 3 月 7 日 インテル社より最新 CPU インテル Xeon E5 ファミリー の発表がありました この最新 CPU について PC クラスタシステムの観点から性能検証を行いましたので 概要を速報いたします プロセッサインテル Xeon プロセッサ E5-2690

More information

openmp1_Yaguchi_version_170530

openmp1_Yaguchi_version_170530 並列計算とは /OpenMP の初歩 (1) 今 の内容 なぜ並列計算が必要か? スーパーコンピュータの性能動向 1ExaFLOPS 次世代スハ コン 京 1PFLOPS 性能 1TFLOPS 1GFLOPS スカラー機ベクトル機ベクトル並列機並列機 X-MP ncube2 CRAY-1 S-810 SR8000 VPP500 CM-5 ASCI-5 ASCI-4 S3800 T3E-900 SR2201

More information

Copyright 2009, SofTek Systems, Inc. All rights reserved.

Copyright 2009, SofTek Systems, Inc. All rights reserved. PGI Visual Fortran Release 9.0 SofTek Copyright 2009, SofTek Systems, Inc. All rights reserved. \\\ \\ \\\ \\ \\ SofTek Systems, Inc \ SofTek Systems, Inc SofTek Systems, Inc SofTek Systems, Inc SofTek

More information

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司 4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司 3 1 1 日本原子力研究開発機構システム計算科学センター 2 理科学研究所計算科学研究機構 3 東京大学新領域創成科学研究科

More information

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

チューニング講習会 初級編

チューニング講習会 初級編 GPU のしくみ RICC での使い方 およびベンチマーク 理化学研究所情報基盤センター 2013/6/27 17:00 17:30 中田真秀 RICC の GPU が高速に! ( 旧 C1060 比約 6.6 倍高速 ) RICCのGPUがC2075になりました! C1060 比 6.6 倍高速 倍精度 515GFlops UPCに100 枚導入 : 合計 51.5TFlops うまく行くと5 倍程度高速化

More information

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 GPU 4 2010 8 28 1 GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 Register & Shared Memory ( ) CPU CPU(Intel Core i7 965) GPU(Tesla

More information

高性能計算研究室の紹介 High Performance Computing Lab.

高性能計算研究室の紹介 High Performance Computing Lab. 高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 543 研究室 幸谷研究室 @ 静岡 検索 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. 過去の卒研 5. 今後について

More information

RICCについて

RICCについて RICC 1 RICC 2 RICC 3 RICC GPU 1039Nodes 8312core) 93.0GFLOPS, 12GB(mem), 500GB (hdd) DDR IB!1 PC100Nodes(800core) 9.3 GPGPU 93.3TFLOPS HPSS (4PB) (550TB) 0.24 512GB 1500GB MDGRAPE33TFLOPS MDGRAPE-3 64

More information

CCS HPCサマーセミナー 並列数値計算アルゴリズム

CCS HPCサマーセミナー 並列数値計算アルゴリズム 大規模系での高速フーリエ変換 2 高橋大介 daisuke@cs.tsukuba.ac.jp 筑波大学計算科学研究センター 2016/6/2 計算科学技術特論 B 1 講義内容 並列三次元 FFT における自動チューニング 二次元分割を用いた並列三次元 FFT アルゴリズム GPU クラスタにおける並列三次元 FFT 2016/6/2 計算科学技術特論 B 2 並列三次元 FFT における 自動チューニング

More information

コードのチューニング

コードのチューニング OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private

More information

GPGPU によるアクセラレーション環境について

GPGPU によるアクセラレーション環境について GPGPU によるアクセラレーション環境について 長屋貴量 自然科学研究機構分子科学研究所技術課計算科学技術班 概要 GPGPU とは 単純で画一的なデータを一度に大量に処理することに特化したグラフィックカードの演算資源を 画像処理以外の汎用的な目的に応用する技術の一つである 近年 その演算能力は CPU で通常言われるムーアの法則に則った場合とは異なり 飛躍的に向上しており その演算性能に魅力を感じた各分野での応用が広がってきている

More information

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin Windows で始める CUDA 入門 GTC 2013 チュートリアル エヌビディアジャパン CUDA エンジニア森野慎也 1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境

More information

PowerPoint Presentation

PowerPoint Presentation ヘテロジニアスな環境におけるソフトウェア開発 Agenda 今日の概要 ヘテロジニアスな環境の登場 ホモジニアスからヘテロジニアスへ ヘテロジニアスなアーキテクチャ GPU CUDA OpenACC, XeonPhi 自分のプログラムを理解するために デバッガ 共通の操作体験 TotalView 続きはブースで より速く ホモジーニアスな並列 HPC 銀河生成 金融のリスク計算 車の衝突解析 製薬

More information

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果 Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7

More information

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation 熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date 2011-03-17 Type URL Presentation http://hdl.handle.net/2298/23539 Right GPGPU による高速演算について 榎本昌一 東京大学大学院工学系研究科システム創成学専攻

More information

スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎 2018.09.10 furihata@cmc.osaka-u.ac.jp ( ) 2018.09.10 1 / 59 furihata@cmc.osaka-u.ac.jp ( ) 2018.09.10 2 / 59 Windows, Mac Unix 0444-J furihata@cmc.osaka-u.ac.jp ( ) 2018.09.10 3 / 59 Part I Unix GUI CUI:

More information

インテル(R) Visual Fortran Composer XE 2013 Windows版 入門ガイド

インテル(R) Visual Fortran Composer XE 2013 Windows版 入門ガイド Visual Fortran Composer XE 2013 Windows* エクセルソフト株式会社 www.xlsoft.com Rev. 1.1 (2012/12/10) Copyright 1998-2013 XLsoft Corporation. All Rights Reserved. 1 / 53 ... 3... 4... 4... 5 Visual Studio... 9...

More information

N08

N08 CPU のキモチ C.John 自己紹介 英語きらい 絵かけない 人の話を素直に信じない CPUにキモチなんてない お詫び 予告ではCとC# とありましたがやる気と時間の都合上 C++のみを対象とします 今日のネタ元 MSDN マガジン 2010 年 10 月号 http://msdn.microsoft.com/ja-jp/magazine/cc850829.aspx Windows と C++

More information

スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎 2018.06.04 2018.06.04 1 / 62 2018.06.04 2 / 62 Windows, Mac Unix 0444-J 2018.06.04 3 / 62 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 2018.06.04 4 / 62 0444-J ( : ) 6 4 ( ) 6 5 * 6 19 SX-ACE * 6

More information

07-二村幸孝・出口大輔.indd

07-二村幸孝・出口大輔.indd GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード ストア命令, 分岐命令 計算機はどのように構成されているのか

More information

2ndD3.eps

2ndD3.eps CUDA GPGPU 2012 UDX 12/5/24 p. 1 FDTD GPU FDTD GPU FDTD FDTD FDTD PGI Acceralator CUDA OpenMP Fermi GPU (Tesla C2075/C2070, GTX 580) GT200 GPU (Tesla C1060, GTX 285) PC GPGPU 2012 UDX 12/5/24 p. 2 FDTD

More information

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

Microsoft Word - HOKUSAI_system_overview_ja.docx

Microsoft Word - HOKUSAI_system_overview_ja.docx HOKUSAI システムの概要 1.1 システム構成 HOKUSAI システムは 超並列演算システム (GWMPC BWMPC) アプリケーション演算サーバ群 ( 大容量メモリ演算サーバ GPU 演算サーバ ) と システムの利用入口となるフロントエンドサーバ 用途の異なる 2 つのストレージ ( オンライン ストレージ 階層型ストレージ ) から構成されるシステムです 図 0-1 システム構成図

More information

I I / 47

I I / 47 1 2013.07.18 1 I 2013 3 I 2013.07.18 1 / 47 A Flat MPI B 1 2 C: 2 I 2013.07.18 2 / 47 I 2013.07.18 3 / 47 #PJM -L "rscgrp=small" π-computer small: 12 large: 84 school: 24 84 16 = 1344 small school small

More information

Microsoft PowerPoint - sales2.ppt

Microsoft PowerPoint - sales2.ppt 最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90

More information

最新の並列計算事情とCAE

最新の並列計算事情とCAE 1 大島聡史 ( 東京大学情報基盤センター助教 / 並列計算分科会主査 ) 最新の並列計算事情と CAE アウトライン 最新の並列計算機事情と CAE 世界一の性能を達成した 京 について マルチコア メニーコア GPU クラスタ 最新の並列計算事情と CAE MPI OpenMP CUDA OpenCL etc. 京 については 仕分けやら予算やら計画やらの面で問題視する意見もあるかと思いますが

More information

main.dvi

main.dvi PC 1 1 [1][2] [3][4] ( ) GPU(Graphics Processing Unit) GPU PC GPU PC ( 2 GPU ) GPU Harris Corner Detector[5] CPU ( ) ( ) CPU GPU 2 3 GPU 4 5 6 7 1 toyohiro@isc.kyutech.ac.jp 45 2 ( ) CPU ( ) ( ) () 2.1

More information

Microsoft PowerPoint - 03_What is OpenMP 4.0 other_Jan18

Microsoft PowerPoint - 03_What is OpenMP 4.0 other_Jan18 OpenMP* 4.x における拡張 OpenMP 4.0 と 4.5 の機能拡張 内容 OpenMP* 3.1 から 4.0 への拡張 OpenMP* 4.0 から 4.5 への拡張 2 追加された機能 (3.1 -> 4.0) C/C++ 配列シンタックスの拡張 SIMD と SIMD 対応関数 デバイスオフロード task 構 の依存性 taskgroup 構 cancel 句と cancellation

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Dell PowerEdge C6320 スケーラブルサーバアプライアンス 仮想化アプライアンスサーバ 最新のプロセッサを搭載したサーバプラットフォーム vsmp Foundation によるサーバ仮想化と統合化の適用 システムはセットアップを完了した状態でご提供 基本構成ではバックプレーン用のスイッチなどが不要 各ノード間を直接接続 冗長性の高いバックプレーン構成 利用するサーバプラットフォームは

More information

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS07.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS

More information

スライド 1

スライド 1 知能制御システム学 画像処理の高速化 OpenCV による基礎的な例 東北大学大学院情報科学研究科鏡慎吾 swk(at)ic.is.tohoku.ac.jp 2007.07.03 リアルタイム処理と高速化 リアルタイム = 高速 ではない 目標となる時間制約が定められているのがリアルタイム処理である.34 ms かかった処理が 33 ms に縮んだだけでも, それによって与えられた時間制約が満たされるのであれば,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション vsmp Foundation スケーラブル SMP システム スケーラブル SMP システム 製品コンセプト 2U サイズの 8 ソケット SMP サーバ コンパクトな筐体に多くのコアとメモリを実装し SMP システムとして利用可能 スイッチなし構成でのシステム構築によりラックスペースを無駄にしない構成 将来的な拡張性を保証 8 ソケット以上への拡張も可能 2 システム構成例 ベースシステム 2U

More information

27_02.indd

27_02.indd GPGPU を用いたソフトウェア高速化手法 Technique to Speedup of the software by GPGPU 大田弘樹 馬場明子 下田雄一 安田隆洋 山本啓二 Hiroki Ota, Akiko Baba, Shimoda Yuichi, Takahiro Yasuta, Keiji Yamamoto PCやワークステーションにおいて画像処理に特化して使用されてきたGPUを

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

Microsoft PowerPoint - suda.pptx

Microsoft PowerPoint - suda.pptx GPU の HWアーキテクチャと高性能化手法 須田礼仁 ( 東京大学 ) 2011/03/22 GPU 高性能プログラミング GPU のハードウェアを理解する CUDA のソフトウェアを理解する CUDA でプログラムを書くのは難しくないが, CUDA で高速なプログラムを書くのは難しい どうすれば遅くなるかを理解する! 効果が大きいものから順に説明します 1 高性能プログラミングの手順 1. 現在のコードの,

More information

スライド 1

スライド 1 Nehalem 新マイクロアーキテクチャ スケーラブルシステムズ株式会社 はじめに 現在も続く x86 マイクロプロセッサマーケットでの競合において Intel と AMD という 2 つの会社は 常に新しい技術 製品を提供し マーケットでのシェアの獲得を目指しています この技術開発と製品開発では この 2 社はある時は 他社に対して優位な技術を開発し 製品面での優位性を示すことに成功してきましたが

More information

CUDA 連携とライブラリの活用 2

CUDA 連携とライブラリの活用 2 1 09:30-10:00 受付 10:00-12:00 Reedbush-H ログイン GPU 入門 13:30-15:00 OpenACC 入門 15:15-16:45 OpenACC 最適化入門と演習 17:00-18:00 OpenACC の活用 (CUDA 連携とライブラリの活用 ) CUDA 連携とライブラリの活用 2 3 OpenACC 簡単にGPUプログラムが作成できる それなりの性能が得られる

More information

マルチコアPCクラスタ環境におけるBDD法のハイブリッド並列実装

マルチコアPCクラスタ環境におけるBDD法のハイブリッド並列実装 2010 GPGPU 2010 9 29 MPI/Pthread (DDM) DDM CPU CPU CPU CPU FEM GPU FEM CPU Mult - NUMA Multprocessng Cell GPU Accelerator, GPU CPU Heterogeneous computng L3 cache L3 cache CPU CPU + GPU GPU L3 cache 4

More information

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事 2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事 豊山 祐一 Hitachi ULSI Systems Co., Ltd. 2015. All rights

More information

Microsoft PowerPoint - sales2.ppt

Microsoft PowerPoint - sales2.ppt 並列化の基礎 ( 言葉の意味 ) 並列実行には 複数のタスク実行主体が必要 共有メモリ型システム (SMP) での並列 プロセスを使用した並列化 スレッドとは? スレッドを使用した並列化 分散メモリ型システムでの並列 メッセージパッシングによる並列化 並列アーキテクチャ関連の言葉を押さえよう 21 プロセスを使用した並列処理 並列処理を行うためには複数のプロセスの生成必要プロセスとは プログラム実行のための能動実態メモリ空間親プロセス子プロセス

More information

目次 1 はじめに 本文書の概要 PVF ソフトウェアと VISUAL STUDIO PVF ソフトウェアの種類 MICROSOFT VISUAL STUDIO の日本語化について VISUAL STUDIO

目次 1 はじめに 本文書の概要 PVF ソフトウェアと VISUAL STUDIO PVF ソフトウェアの種類 MICROSOFT VISUAL STUDIO の日本語化について VISUAL STUDIO PGI Visual Fortran のための Microsoft Visual Studio 導入ガイド 2016 年版 日本語環境の Visual Studio の構築について PGI インストール関係の日本語ドキュメントは 以下の URL に全てアーカイブしてありま す オンラインでご覧になりたい場合は 以下の URL にアクセスしてください http://www.softek.co.jp/spg/pgi/inst_document.html

More information

演習1: 演習準備

演習1: 演習準備 演習 1: 演習準備 2013 年 8 月 6 日神戸大学大学院システム情報学研究科森下浩二 1 演習 1 の内容 神戸大 X10(π-omputer) について システム概要 ログイン方法 コンパイルとジョブ実行方法 OpenMP の演習 ( 入門編 ) 1. parallel 構文 実行時ライブラリ関数 2. ループ構文 3. shared 節 private 節 4. reduction 節

More information

<4D F736F F D20332E322E332E819C97AC91CC89F090CD82A982E78CA982E9466F E393082CC8D5C91A291CC90AB945C955D89BF5F8D8296D85F F8D F5F E646F63>

<4D F736F F D20332E322E332E819C97AC91CC89F090CD82A982E78CA982E9466F E393082CC8D5C91A291CC90AB945C955D89BF5F8D8296D85F F8D F5F E646F63> 3.2.3. 流体解析から見る Fortran90 の構造体性能評価 宇宙航空研究開発機構 高木亮治 1. はじめに Fortran90 では 構造体 動的配列 ポインターなど様々な便利な機能が追加され ユーザーがプログラムを作成する際に選択の幅が広がりより便利になった 一方で 実際のアプリケーションプログラムを開発する際には 解析対象となる物理現象を記述する数学モデルやそれらを解析するための計算手法が内包する階層構造を反映したプログラムを作成できるかどうかは一つの重要な観点であると考えられる

More information

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並 XcalableMPによる NAS Parallel Benchmarksの実装と評価 中尾 昌広 李 珍泌 朴 泰祐 佐藤 三久 筑波大学 計算科学研究センター 筑波大学大学院 システム情報工学研究科 研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI,

More information

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~ MATLAB における並列 分散コンピューティング ~ Parallel Computing Toolbox & MATLAB Distributed Computing Server ~ MathWorks Japan Application Engineering Group Takashi Yoshida 2016 The MathWorks, Inc. 1 System Configuration

More information

Microsoft PowerPoint - 高速化WS富山.pptx

Microsoft PowerPoint - 高速化WS富山.pptx 京 における 高速化ワークショップ 性能分析 チューニングの手順について 登録施設利用促進機関 一般財団法人高度情報科学技術研究機構富山栄治 一般財団法人高度情報科学技術研究機構 2 性能分析 チューニング手順 どの程度の並列数が実現可能か把握する インバランスの懸念があるか把握する タイムステップループ I/O 処理など注目すべき箇所を把握する 並列数 並列化率などの目標を設定し チューニング時の指針とする

More information

GPUコンピューティング講習会パート1

GPUコンピューティング講習会パート1 GPU コンピューティング (CUDA) 講習会 GPU と GPU を用いた計算の概要 丸山直也 スケジュール 13:20-13:50 GPU を用いた計算の概要 担当丸山 13:50-14:30 GPU コンピューティングによる HPC アプリケーションの高速化の事例紹介 担当青木 14:30-14:40 休憩 14:40-17:00 CUDA プログラミングの基礎 担当丸山 TSUBAME の

More information

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として) Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として)  Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA 3 次多項式パラメタ推定計算の CUDA を用いた実装 (CUDA プログラミングの練習として ) Estimating the Parameters of 3rd-order-Polynomial with CUDA ISS 09/11/12 問題の選択 目的 CUDA プログラミングを経験 ( 試行錯誤と習得 ) 実際に CPU のみの場合と比べて高速化されることを体験 問題 ( インプリメントする内容

More information

AICS 村井均 RIKEN AICS HPC Summer School /6/2013 1

AICS 村井均 RIKEN AICS HPC Summer School /6/2013 1 AICS 村井均 RIKEN AICS HPC Summer School 2013 8/6/2013 1 背景 OpenMP とは OpenMP の基本 OpenMP プログラミングにおける注意点 やや高度な話題 2 共有メモリマルチプロセッサシステムの普及 共有メモリマルチプロセッサシステムのための並列化指示文を共通化する必要性 各社で仕様が異なり 移植性がない そして いまやマルチコア プロセッサが主流となり

More information

iphone GPGPU GPU OpenCL Mac OS X Snow LeopardOpenCL iphone OpenCL OpenCL NVIDIA GPU CUDA GPU GPU GPU 15 GPU GPU CPU GPU iii OpenMP MPI CPU OpenCL CUDA OpenCL CPU OpenCL GPU NVIDIA Fermi GPU Fermi GPU GPU

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード

More information

GPGPUイントロダクション

GPGPUイントロダクション 大島聡史 ( 並列計算分科会主査 東京大学情報基盤センター助教 ) GPGPU イントロダクション 1 目的 昨今注目を集めている GPGPU(GPU コンピューティング ) について紹介する GPGPU とは何か? 成り立ち 特徴 用途 ( ソフトウェアや研究例の紹介 ) 使い方 ( ライブラリ 言語 ) CUDA GPGPU における課題 2 GPGPU とは何か? GPGPU General-Purpose

More information

NUMAの構成

NUMAの構成 GPU のプログラム 天野 アクセラレータとは? 特定の性質のプログラムを高速化するプロセッサ 典型的なアクセラレータ GPU(Graphic Processing Unit) Xeon Phi FPGA(Field Programmable Gate Array) 最近出て来た Deep Learning 用ニューロチップなど Domain Specific Architecture 1GPGPU:General

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション みんなの ベクトル計算 たけおか @takeoka PC クラスタ コンソーシアム理事でもある 2011/FEB/20 ベクトル計算が新しい と 2008 年末に言いました Intelに入ってる! (2008 年から見た 近未来? ) GPU 計算が新しい (2008 年当時 ) Intel AVX (Advanced Vector Extension) SIMD 命令を進めて ベクトル機構をつける

More information

Microsoft PowerPoint - CCS学際共同boku-08b.ppt

Microsoft PowerPoint - CCS学際共同boku-08b.ppt マルチコア / マルチソケットノードに おけるメモリ性能のインパクト 研究代表者朴泰祐筑波大学システム情報工学研究科 taisuke@cs.tsukuba.ac.jp アウトライン 近年の高性能 PC クラスタの傾向と問題 multi-core/multi-socket ノードとメモリ性能 メモリバンド幅に着目した性能測定 multi-link network 性能評価 まとめ 近年の高性能 PC

More information

スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎 2016.06.06 2016.06.06 1 / 60 2016.06.06 2 / 60 Windows, Mac Unix 0444-J 2016.06.06 3 / 60 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 0444-J 2016.06.06 4 / 60 ( : ) 6 6 ( ) 6 10 6 16 SX-ACE 6 17

More information

本文ALL.indd

本文ALL.indd Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法河辺峻田口成美古谷英祐 Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法 Performance Measurement Method of Cache Coherency Effects on an Intel Xeon Processor System 河辺峻田口成美古谷英祐

More information

Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx

Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx Dolphin Express による 10Gbps ソケット通信 Dolphin Express は 標準的な低価格のサーバを用いて 強力なクラスタリングシステムが構築できる ハードウェアとソフトウェアによる通信用アーキテクチャです 本資料では Dolphin Express 製品の概要と 実際にどの程度の性能が出るのか市販 PC での実験結果をご紹介します Dolphin Express 製品体系

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

01_OpenMP_osx.indd

01_OpenMP_osx.indd OpenMP* / 1 1... 2 2... 3 3... 5 4... 7 5... 9 5.1... 9 5.2 OpenMP* API... 13 6... 17 7... 19 / 4 1 2 C/C++ OpenMP* 3 Fortran OpenMP* 4 PC 1 1 9.0 Linux* Windows* Xeon Itanium OS 1 2 2 WEB OS OS OS 1 OS

More information

Microsoft Word - openmp-txt.doc

Microsoft Word - openmp-txt.doc ( 付録 A) OpenMP チュートリアル OepnMP は 共有メモリマルチプロセッサ上のマルチスレッドプログラミングのための API です 本稿では OpenMP の簡単な解説とともにプログラム例をつかって説明します 詳しくは OpenMP の規約を決めている OpenMP ARB の http://www.openmp.org/ にある仕様書を参照してください 日本語訳は http://www.hpcc.jp/omni/spec.ja/

More information

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 ここでは機械命令レベルプログラミングを学びます 機械命令の形式は学びましたね機械命令を並べたプログラムを作ります 2 その前に プログラミング言語について 4 プログラミング言語について 高級言語 (Java とか C とか ) と機械命令レベルの言語 ( アセンブリ言語 ) があります 5 プログラミング言語について

More information

はじめに Web アプリケーションの発展と普及の勢いは弱まる兆しがありません 弱まるどころか 加速し続けています これは これまでの ERP CRM Web 2.0 などの Web ベースアプリケーションが提供してきたメリットを考えると 不思議なことではありません Web アプリケーションの爆発的拡

はじめに Web アプリケーションの発展と普及の勢いは弱まる兆しがありません 弱まるどころか 加速し続けています これは これまでの ERP CRM Web 2.0 などの Web ベースアプリケーションが提供してきたメリットを考えると 不思議なことではありません Web アプリケーションの爆発的拡 ncore テクノロジー Web アプリケーションデリバリー性能の飛躍的向上 www.citrix.com はじめに Web アプリケーションの発展と普及の勢いは弱まる兆しがありません 弱まるどころか 加速し続けています これは これまでの ERP CRM Web 2.0 などの Web ベースアプリケーションが提供してきたメリットを考えると 不思議なことではありません Web アプリケーションの爆発的拡大の一方で

More information

名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL アライアンスパートナー コアテクノロジーパートナー NVIDIA JAPAN ソリュ

名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL   アライアンスパートナー コアテクノロジーパートナー NVIDIA JAPAN ソリュ GPUDirect の現状整理 multi-gpu に取組むために G-DEP チーフエンジニア河井博紀 (kawai@gdep.jp) 名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL http://www.gdep.jp アライアンスパートナー コアテクノロジーパートナー

More information

GPUを用いたN体計算

GPUを用いたN体計算 単精度 190Tflops GPU クラスタ ( 長崎大 ) の紹介 長崎大学工学部超高速メニーコアコンピューティングセンターテニュアトラック助教濱田剛 1 概要 GPU (Graphics Processing Unit) について簡単に説明します. GPU クラスタが得意とする応用問題を議論し 長崎大学での GPU クラスタによる 取組方針 N 体計算の高速化に関する研究内容 を紹介します. まとめ

More information

EnSightのご紹介

EnSightのご紹介 オープン CAE シンポジウム 2014 汎用ポストプロセッサー EnSight の大規模データ対応 CEI ソフトウェア株式会社代表取締役吉川慈人 http://www.ceisoftware.co.jp/ 内容 大規模データで時間のかかる処理 クライアント サーバー機能 マルチスレッドによる並列処理 サーバーの分散処理 クライアントの分散処理 ( 分散レンダリング ) EnSightのOpenFOAMインターフェース

More information

高性能計算研究室の紹介 High Performance Computing Lab.

高性能計算研究室の紹介 High Performance Computing Lab. 高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 http://na-inet.jp/ 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. Webデザイン特別プログラム 5. 今後について

More information

Microsoft PowerPoint - 演習1:並列化と評価.pptx

Microsoft PowerPoint - 演習1:並列化と評価.pptx 講義 2& 演習 1 プログラム並列化と性能評価 神戸大学大学院システム情報学研究科横川三津夫 yokokawa@port.kobe-u.ac.jp 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 1 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 2 2 次元温度分布の計算

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx シングルコアとマルチコア 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 前々回の授業の復習 CPUの進化 半導体集積率の向上 CPUの動作周波数の向上 + 複雑な処理を実行する回路を構成 ( 前々回の授業 ) マルチコア CPU への進化 均一 不均一なプロセッサ コプロセッサ, アクセラレータ 210 コンピュータの歴史 世界初のデジタルコンピュータ 1944 年ハーバードMark I

More information

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU GPGPU (I) GPU GPGPU 1 GPU(Graphics Processing Unit) GPU GPGPU(General-Purpose computing on GPUs) GPU GPGPU GPU ( PC ) PC PC GPU PC PC GPU GPU 2008 TSUBAME NVIDIA GPU(Tesla S1070) TOP500 29 [1] 2009 AMD

More information