Microsoft PowerPoint - SSTC_Dell_Sminar_040606

Size: px
Start display at page:

Download "Microsoft PowerPoint - SSTC_Dell_Sminar_040606"

Transcription

1 ご説明の内容について Xeon デュアルコアプロセッサでのハイパフォーマンスの実現について HPCシステムの発展とトレンド Proprietary.vs. COTS 64ビットコンピューティング マルチコアプロセッサ プログラム最適化と開発環境に関するトピックス コンパイラ技術と開発ツール クラスタ環境 共有メモリプログラミング まとめとして 標準コンポーネントによる HPC の進化 ご説明の内容について HPC システムの構築コンポーネント HPCシステムの発展とトレンド Proprietary.vs. COTS 64ビットコンピューティング マルチコアプロセッサ プログラム最適化と開発環境に関するトピックス コンパイラ技術と開発ツール クラスタ環境 共有メモリプログラミング まとめとして 標準コンポーネントによる HPC の進化 1960s 1970s HPC Systems 1970s Processor proprietary Memory proprietary Motherboard proprietary Interconnect proprietary OS,SW Tools proprietary 1980s 1980s proprietary proprietary proprietary proprietary proprietary 1990s 1990s COTS COTS proprietary proprietary proprietary 2000s 2000s COTS COTS COTS COTS COTS proprietary : 独自開発 COTS: 一般商用もしくは標準品 - 1 -

2 TOP500 でのプロセッサアーキテクチャ 64-Bit 拡張アーキテクチャ ベクトル計算機 : CPU システムや OS は全て独自開発 ベクトル計算機の凋落 各社の呼び方 AMD Intel Microsoft AMD64 EM64T (Extended Memory 64-bit Technology) x64 (Microsoft s term for x86 64-bit extensions) 商用プロセッサの台頭 MPP : CPU は商用製品を利用し システムや OS は独自開発 クラスタ : CPU システムや OS の全てが 商用もしくはオープンソース AMD64 と EM64T は 同じレジスタセットを利用し ほぼ同一の命令セットを利用しています 互換性に関しては OS とコンパイラが双方の違いを認識できるため ユーザ ( アプリケーション ) については その差を意識する必要はありません 32-Bit と 64-Bit モード x86-64 環境の発展 User Kernel Application Operating System Drivers Legacy Mode Legacy 32-bit 32-bit 32-bit 既存の SW インフラストラクチャ Compatibility 32-bit 64-bit 64-bit Long Mode ユーザは 64-bit 環境に互換性を維持しながら 性能を損なうことなく移行可能 Native 64-bit 64-bit 64-bit 64-bit 完全な 64-bit 環境 利用可能なアプリケーション数 32-bit x86 x スケーラビリティ (Scalability) 64-bit x86 は 今後の 64 ビット計算環境における標準となることが予想されます その理由は 1) 32-bit アプリケーション資産の活用が可能 2) より容易でスムーズ 64-bit 計算環境への移行が可能 64-bit IPF - 2 -

3 x86-64 OS サポート OS サポートの時間軸 1-2 years x86-64 が最初に活用されたのは RISC マイクロプロセッサと UNIX が活用されていた分野でしたが 現在ではより広範囲なマーケットでの活用がなされてきています. OS 8+ years Win NT 3.1 Win 95 Microsoft Red Hat SuSE Windows Server 2003 x64 Enterprise Linux v.4 Linux Enterprise Server 9 CPU bit から 32-bit への移行 Opteron ビットから 64 ビットへの移行は 以前の 16 ビットから 32 ビットへの移行と比較しても遥かに短時間で実現されています.. 32-bit から 64-bit への移行 Xeon/EM64T マイクロアーキテクチャの S カーブ 新たな次元でのプロセッサ開発 MIPS Pentium 4 and Xeon Architecture with HT Multi-Threaded Pentium Pro Architecture Speculative Out-of-Order Pentium Architecture Super Scalar Pentium 4 Architecture Trace Cache Multi-Threaded, Multi-Core Era of Instruction Parallelism Era of Thread Parallelism より柔軟なプロセッサ開発とテクノロジの導入 キャッシュサイズ 動作周波数 マルチコア マイクロアーキテクチャ Johan De Gelas, Quest for More Processing Power, AnandTech, Feb. 8, プロセッサの性能向上のための選択肢が広がる価格性能比の向上を違った次元で提供可能技術的な利点と マーケティング の要求 - 3 -

4 マルチコアによって Performance/Watt が改善 性能向上の加速 Cache Big Core Core 1 Core 2 Shared Cache Core 3 Core 4 Power Performance Cache Small Core 1 1 Power ~ コアサイズ PERFORMANCE ~ コアサイズ 過去のx86プロセッサの性能向上は 年率 15% - 30% 2005 年に多くのデュアルコアプロセッサが製品化された 今後の予測として 年率 50% 以上の性能向上 2007 年以降は デュアルコア以上の構成の製品も一般化 ソフトウエアの挑戦? マルチスレッド 利用技術 適用分野 performance x86 CPU 性能の変遷 ( 予測 ) マルチコア デュアルコア 予想される性能向上 過去の歴史からの性能向上予測 Source: HP 並列処理の重要性 ムーアの法則 (GHz から MC へ ) 何もしないでもクロックアップにより性能が向上する (18 ヶ月毎にクロックが 2 倍になり性能も 2 倍 ) 6GHz 3GHz 24GHz 12GHz 1 Core ユーザは何もしなくても 18 ヶ月に 2 倍の性能向上が得られた状況から クロック向上による性能向上はそれほど期待出来ない状況に対応する必要がある 2 Cores 3GHz, 2Cores 3GHz, 4Cores 3GHz, 8Cores 4 Cores 並列実行することで 性能向上が可能となる 8 Cores 性能 ムーアの法則に沿ったし性能向上を図るためには マルチコアの技術の最大限の活用が必須となります 2005 MultiCore マルチコアによる性能向上 マルチスレッド マルチタスク トレーニング ツール. 動作周波数の向上による性能向上 - 4 -

5 マルチコアプロセッサ 様々なマルチコアの可能性 P P P インターコネクト ネットワーク デュアルコアプロセッサ プロセッサ実行リソース プロセッサ実行リソース コア L1C L2C コア L1C L2C コア L1C L2C コア L1C L2C コア L1C M M M AS AS スレッド シングルプロセス 並行実行 共有メモリとリソース 明示的なスレッド OpenMP コア L1C コアコア L1C L1C L2C コア L1C コア L1C コアコア L1C L1C L2C コア L1C Intel Xeon デュアルコア L2 キャッシュ共有デュアルコアプロセッサ シングルコア Execution Core シングルのダイ上に独立したプロセッサを実装 Standard package Execution Core Cache Cache Bus I/F Execution Core Bus I/F デュアルコア Multi-Chip Module Execution Core Cache Bus I/F Execution Core Cache Bus I/F 2 つのダイをソケットに搭載 (MCM) 各プロセッサコアが独立して L2 キャッシュを持った場合 Core 1 L2 Cache Core 2 L2 Cache Inte Core マイクロアーキテクチャでの L2 キャッシュの共有 Core 1 L2 Cache Core 2 共有データへのアクセスが効率化され バスバンド幅の維持が可能また データアクセスのレイテンシの向上も可能 Cache Standard package Bus I/F Bus I/F Bus I/F Bus I/F Execution Core Cache Cache Bus I/F Execution Core シングルダイとシングル I/F FSB 各コアのキャッシュの利用容量は動的に割り当てられる ( より柔軟で 効率の良いキャッシュの利用が可能で キャッシュヒット率の向上が可能 ) デュアルコアの実装方法には様々な方法や方式が考えられるが ユーザからは ほとんど同じように利用可能です ただ それぞれの実装で最適化や並列化効率の改善には違った方法が必要になります Source: Intel, Dual Core Architecture Spring 2005 IDF Main Memory Main Memory Intel Core マイクロアーキテクチャ - 5 -

6 IDF でのマルチコアのデモ ご説明の内容について Depmsey HPC システムの発展とトレンド Proprietary.vs.COTS 64 ビットコンピューティング Woodcrest Clovertown 同じ Dell 製サーバに 3 世代のマルチコアプロセッサを実装し デモを行っていました マルチコアプロセッサ プログラム最適化と開発環境に関するトピックス コンパイラ技術と開発ツール クラスタ環境 共有メモリプログラミング まとめとして 標準コンポーネントによる HPC の進化 コンピュータの並列処理 並列性 (Parallelism) の利用 ビットレベルでの並列処理 浮動小数点演算など 命令実行レベルでの並列処理 クロックあたり複数の命令実行 メモリシステム メモリオペレーションと計算のオーバラップ OS の並列処理 これらの全ての並列処理を効率よくスケジューリングすることで 高い性能を実現することが可能 システムマルチノードマルチプロセッサマルチコアマルチインストラクション マルチタスク処理 MPI などによる複数のノード間での並列処理 ユーザ及びコンパイラによるスレッドレベルでの並列処理 (TLP) コンパイラによる命列実行レベルでの並列処理 (ILP) 複数のプロセス スレッド ジョブの同時実行 - 6 -

7 Time 並列性 (Parallelism) の利用 Time コンパイラのパフォーマンススイッチ インテルコンパイラのコンパイラオプションプロセッサ固有の最適化とメモリプロシージャ間最適化参照に関する最適化 /Qip,-ip /Qipo, -ipo /Qipo_wp, -wp_ipo /G2 g2 /Oa, -fno_alias Pipelining Data-Level Parallelism (DLP) -O1, -O2, -O3 Time Thread-Level Parallelism (TLP) Time Instruction-Level Parallelism (ILP) プロファイルに基づく最適化 一般的な最適化 /Qprof_gen, -prof_gen /Qprof_use,-prof_use インテルコンパイラでの最適化オプション インテルコンパイラでの最適化オプション Windows -QxK Linux -xk 最適化の対象 インテル Pentium III プロセッサおよび互換性のあるインテル プロセッサ Windows /O2 Linux -O -O2 と同じ 説明 -QxW -xw インテル Pentium 4 プロセッサおよび互換性のあるインテル プロセッサ /Od -O0 最適化を行わない -QxN -QxB -QxP -xn -xb -xp インテル Pentium 4 プロセッサおよび互換性のあるインテル プロセッサ 関数 main() がこのオプションを使用してコンパイルされると プログラムは互換性のないプロセッサを検出して 実行時にエラー メッセージを出力します このオプションは インテル プロセッサ固有の最適化に加えて新しい最適化も有効にします インテル Pentium M プロセッサおよび互換性のあるインテル プロセッサ 関数 main() がこのオプションを使用してコンパイルされると プログラムは互換性のないプロセッサを検出して 実行時にエラー メッセージを出力します このオプションは インテル プロセッサ固有の最適化に加えて新しい最適化も有効にします HT テクノロジインテル Pentium 4 プロセッサ (SSE3 対応 ) 関数 main() がこのオプションを使用してコンパイルされると プログラムは互換性のないプロセッサを検出して 実行時にエラー メッセージを出力します このオプションは インテル プロセッサ固有の最適化に加えて新しい最適化も有効にします /O1 /O3 -O1 -O2 -O3 -fast コード サイズ削減と実行速度向上を目指す最適化を実行する 最適化は 局所的なレベルでの適用になる 殆どの場合 -O1 よりも -O2 が推奨される さらに高度な最適化を実行する ほとんどの最適化機能が有効になる -O2 より進んだ最適化を行う それに加えてプリフェッチ, スカラ置換, ループ変換, およびメモリのアクセス変換のような, さらに強力な最適化も有効となる -x{w N B P} オプションと同時に指定した場合 コンパイラは さらに強力な最適化 ( とベクトル化 ) の適用を行う このオプションは ランタイム パフォーマンスを向上させる最適化機能一式をすべて有効にする 次のオプションが指定される -O3 -ipo static - 7 -

8 開発環境 インテルプロセッサを搭載したシステムでの最高性能の実現 並列アプリケーションの開発サイクル インテル C++ コンパイラ インテル Fortran コンパイラ インテルクラスタ ツールツール キット インテルパフォーマンスライブラリー VTune 性能アナライザ インテルスレッド化 ツール インテルトレース コレクタ シリアル部分 最適化されていないシリアルコードコンパイラー VTune 最適化されたシリアルコード 最適化されていないパラレルコード パラレル部分 トレースコレクタ トレースアナライザ ソースコード コンパイルリンク実行出力 最適化されたパラレルコード シリアル ( シングルスレッド ) と並列の性能の問題は異なるため 異なるツールが必要になります ループのベクトル化処理 SIMD: Single Instruction, Multiple Data プログラム例 : for (I=0;I<=MAX;I++) C[I]=A[I]+B[I]; 利用方法 : (Linux) -[a]xn, -[a]xb, -[a]xp (Windows) -Q[a]xN, -Q[a]xB, -Q[a]xP A[3] A[2] + + B[3] C[3] B[2] C[2] A[1] A[0] + + B[1] 128-bit Registers B[0] C[1] C[0] スカラー処理 一般的な処理 一つの命令で一つの計算結果 X + Y X + Y X Y X + Y SIMD 処理 SSE / SSE2 / SSE3 一つの命令実行で複数の計算結果 x3 x2 x1 x0 + y3 y2 y1 y0 x3+y3 x2+y2 x1+y1 x0+y0-8 -

9 SIMD データタイプ 各社の SIMD 拡張への取り組み 16 バイト単位でのデータ格納 Vendor HP Extension MAX-1 and 2 Year 94,95 # Instr 9,8 (int) Registers Int 32x64b 4x floats Sun VIS (int) FP 32x64b 2x doubles Intel MMX (int) FP 8x64b 16x bytes 8x words 4x dwords 2x qwords AMD Motorola Intel MIPS AMD 3DNow! Altivec SSE MIPS-3D E 3DNow! ? (fp) 162 (int,fp) 70 (fp) 23 (fp) 24 (fp) FP 8x64b 32x128b 8x128b FP 32x64b 8x128 1x dqword Intel SSE (int,fp) 8x128 x86 プロセッサでの SIMD 演算 現在の x86 プロセッサは 全て SIMD 演算をサポート データ型変換と飽和データ型変換 飽和算術演算 (Saturation arithmetic) クリッピング (Clipping) 平均 (AVG) 及び絶対値 (ABS) の計算 Intel コンパイラは プログラムを解析し SIMD 演算のためのベクトル化を行う 単なるパターン認識ではなく プログラムフローを解析してのベクトル化の適用 飽和 (Saturation) とクリッピング (Clipping) イディオム (Idiom*) unsigned char a[256], b[256];.. for (i = 0; i < 256; i++) { int x = (a[i] < 200)? a[i]+55 : 255; if (x > b[i]) b[i] = x;} Intel コンパイラは 自動的にこのような変換を行い ベクトル化を行う.B1.11 ; xmm1 is preloaded with 55,..,55 movdqa xmm0, XMMWORD PTR[eax+ecx] paddusb xmm0, xmm1 ; (saturate) pmaxub xmm0, XMMWORD PTR[ecx+ebp] ; (clipping) movdqa XMMWORD PTR[ecx+ebp], xmm0 add ecx, 16 cmp ecx, esi jl.b1.11 イディオム (Idiom) : 言語に依存する慣用表現で プログラムパターン - 9 -

10 ベクトル化が可能な条件 各ループの反復実行が独立であることが必要 各反復計算時のループ内の変数の参照に相互依存 ( 依存性 ) がないことが必要 以下の条件はベクトル化を阻害 : ループ内での関数の呼び出し ループ内での条件分岐 ( ベクトル化可能な場合もある ) ループ カウンターがループ実行時に決定している データ タイプが異なる演算など ベクトル化出来ない理由は? Linux Windows -vec_reportn -Qvec_reportn 標準出力にベクトル化に関する診断を出力 ( これらの情報を参考にベクトル化の検討も可能 ) n=0: 診断メッセージの出力なし n=1: ( 省略時 ) ベクトル化されたループを示す n=2: ベクトル化出来なかったループを示す n=3: これらに加えて ベクトル化出来なかった理由を出力する Intel, Pentium, and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. ベクトル化診断メッセージの例 ( 阻害時 ) Mixed Data Types Nonunit stride used Condition too Complex Condition may protect exception "vectorization possible but seems inefficient" Low trip count Operator unsuited for vectorization Subscript too complex Unsupported Loop Structure Existence of vector dependence Complex subscript expression Contains unvectorizable statement at line XX Not Inner Loop など Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. MFLOPS ベクトル化 最適化による性能向上 Livermore Fortran Kernel -O3 -O3 -xp Livermore Fortran Kernels ベクトル化ループ 3.2GHz Processor SpeedUPs

11 ベクトル化 最適化による性能向上 Livermore Fortran Kernel kernel.f(263) : (col. 9) remark: LOOP WAS VECTORIZED. 257 c******************************************************************************* 258 c*** KERNEL 3 INNER PRODUCT 259 c******************************************************************************* 260 c 261 c Q= 0.000d0 263 DO 3 k= 1,n Q= Q + Z(k) * X(k) kernel.f(324) : (col. 9) remark: LOOP WAS VECTORIZED. 318 c******************************************************************************* 319 c*** KERNEL 7 EQUATION OF STATE FRAGMENT 320 c******************************************************************************* 321 c 322 c 323 cdir$ ivdep DO 7 k= 1,n 325 X(k)= U(k ) + R*( Z(k ) + R*Y(k )) T*( U(k+3) + R*( U(k+2) + R*U(k+1)) T*( U(k+6) + Q*( U(k+5) + Q*U(k+4)))) CONTINUE -vec_report オプションで各ループのベクトル化の可否を知ることが出来ます KERNEL 3 7 とコンパイラによってベクトル化され -xp オプションでより高速な実行も可能となっています ベクトル化 最適化による性能向上 NAS Kernel ベンチマーク 2.3X -O3 -O3 -xp -O3 -xp -ipo 4.6X MXM CFFT2D CHOLSKY BTRIX GMTRY EMIT VPENTA 3.2GHz Processor ベクトル化 最適化による性能向上 NAS Kernel ベンチマーク 次期インテルプロセッサでの SSE 実行 mxm.f(10) : (col. 11) remark: LOOP WAS VECTORIZED. mxm.f(15) : (col. 13) remark: LOOP WAS VECTORIZED. 9 DO 100 K = 1, N 10 DO 100 I = 1, L 11 C(I,K) = CONTINUE 13 DO 110 J = 1, M, 4 14 DO 110 K = 1, N 15 DO 110 I = 1, L 16 C(I,K) = C(I,K) + A(I,J) * B(J,K) 17 $ + A(I,J+1) * B(J+1,K) + A(I,J+2) * B(J+2,K) 18 $ + A(I,J+3) * B(J+3,K) CONTINUE カーネル MXM については 主要ループがベクトル化されより SSE 命令での高速実行が可能 High Level Optimizer Report for: vpenta_ #of Array Refs Scalar Replaced in vpenta_ at line 38=10 #of Array Refs Scalar Replaced in vpenta_ at line 64=9 #of Array Refs Scalar Replaced in vpenta_ at line 87=6 LOOP INTERCHANGE in loops at line: Loopnest permutation ( 1 2 ) --> ( 2 1 ) Fusion loop partitions: (loop line numbers) Fused Loops: ( ) 85 DO 4 J = 2,JU-JL 86 JX = JU-J 87 DO 15 K = KL,KU 88 F(JX,K,1) = F(JX,K,1) - X(JX,K)*F(JX+1,K,1) - 89 * Y(JX,K)*F(JX+2,K,1) 90 F(JX,K,2) = F(JX,K,2) - X(JX,K)*F(JX+1,K,2) - 91 * Y(JX,K)*F(JX+2,K,2) 92 F(JX,K,3) = F(JX,K,3) - X(JX,K)*F(JX+1,K,3) - 93 * Y(JX,K)*F(JX+2,K,3) CONTINUE 95 4 CONTINU カーネル VPENTA については ループの順番を入れ替えることで より効率的なデータアクセスが可能となります Source SSE/2/3 Dest Intel Core Microarchitecture NetBurst CLOCK CYCLE 1 CLOCK CYCLE 2 X4 Y4 X4opY4 CLOCK CYCLE 1 X4opY4 SSE Operation X3 Y3 X3opY3 X3opY3 X2 Y2 X2opY2 X2opY2 X1 Y1 X1opY1 X1opY1-11 -

12 VTune Analyzer 8.0 for Linux Eclipse 3.1 Eclipse 3.1 への対応 Itanium 2 プロセッサ上での Java Linux のサポート Call Graph の機能向上 Multi-user call graph (vtserver) Read-Only filesystem callgraph (vtserver) CPU マスキングのサポート (sampling) Only gather data on some CPUs in MP systems CPU 毎のバッファリングのサポート (sampling) More accurate for systems with >32 CPUs 4096 プロセッサまでのサンプリングをサポート ユーザビリティの向上 Eclipse* 3.1 on Linux32 systems w/ remote collectors on the Intel Itanium processor-based system Dynamic Help Better performance インテルパフォーマンス ライブラリ SciMark 2.0 ベンチマーク Intel MKL と Intel IPP 利用による最適化 インテルマス カーネル ライブラリ (Intel MKL) 数学 科学 エンジニアリングおよび金融アプリケーション用に高度に最適化された数値処理関数群 大規模な数値演算アプリケーションに最適 ワークステーションとサーバー プラットフォームにも対応 O3 -O3 -xp -fno-alias -O3 -xp -fno-alias (MKL/IPP 利用時 ) 8X 2000 インテルインテグレーテッド パフォーマンス プリミティブ (Intel IPP) X 信号 イメージ グラフィック マルチメディアおよび数値処理関数からなるライブラリー リアルタイムおよびインタラクティブ アプリケーション クライアント ( デスクトップ / モバイル / ハンドヘルド ) からサーバーまでの広範囲なプラットフォームをカバー FFT SOR MonteCarlo: Sparse LU Small Size (Cache Only) FFT SOR MonteCarlo: Sparse LU Large Size (Cache Only)

13 インテル IPP の各機能さまざまなアーキテクチャで共通の API インテルクラスタ ツールキット 関数ドメイン オーディオ処理 主な使用法 MP3 (AAC AC3) GSM-AMR インテル Pentium 4 プロセッサ インテル Xeon プロセッサ インテル Itanium2 プロセッサ インテル PCA アプリケーション プロセッサ ソフトウェアツール 標準的な MPI ライブラリ インテルからの提案 インテル MPI ライブラリ ビデオ処理 イメージ処理 JPEG 信号処理 音声コーディング 音声認識 コンピューター ビジョン 行列処理 H.263 MPEG1 2 4 (H.26L) フィルタリング 拡張 解析 圧縮 展開 フィルタリング 検出 解析 G729 G.723 (G.722 GSM) Dictate Voice コマンド インデックス 認識 追跡 識別 3D トランスフォーム ライティング モデリング クラスタ向け科学技術ライブラリ MPI アプリケーションの解析 クラスタと MPI 関数のベンチマーク インテルクラスタ MKL インテルトレースアナライザー & コレクタ インテル MPI ベンチマーク ベクトル演算 数値アルゴリズム ストリング処理 RDBMS エンジン XML パーサ 暗号化 Rijndael DES TDES SHA1 MD5 RSA DSA クラスタシステムでの高い生産性 クラスタ環境に見られる性能問題 インテルクラスタツールキットと インテル MPI ライブラリ インテルトレースアナライザー & コレクタ インテルクラスタ数値演算ライブラリ インテル MPI ベンチマーク 並列アプリを開発するための最も効率的なツールを提供 性能の問題を明確にするための 開発ツールとプロファイリング ツールから構成 クラスタの利用率だけではなく アプリの効率性や ノード間のロードバランスの状況を把握可能 MPI に依存 MPI アプリの性能に影響を与える構成要素は様々あり 予測や問題の切り分けはツールなしでは困難 プラットフォーム :CPU メモリー OS ネットワーク : インターコネクト プロトコル MPI: バッファリング 実装 同期処理 アプリに依存 アルゴリズム自身の効率性とスケーラビリティ 計算時間と通信時間の比 ロードバランス メッセージのサイズ 使われる MPI 関数 : ブロッキング / ノンブロッキング 1 対 1/ 集団通信 インテル クラスタ ツールはこれらの問題を解決!

14 インテル MPI ライブラリとは? 切り替え可能なマルチファブリックのサポート アルゴンヌ国立研究所のMPICH2をベース 簡単なインストールと設定 商用アプリとしてのサポート 開発とQA 試験のコストを軽減 生産性 機能性の向上 サポートするファブリック毎にアプリケーションを開発 試験 メンテナンスするコストを削除し アプリケーションの質を向上 App A InfiniBand ソフトウエアプロジェクト 統合された MPI ライブラリの開発 TCP App B Shmem App C Myrinet アプリケーション毎に異なったネットワークとインターフェイスを使用 App A Virtual Fabric App B App C 一つの実行モジュール ( バイナリ ) で複数のネットワークとインターフェイスをサポートすることが可能 OpenMPI や OpenIB との連携 インテル MPI ライブラリ インテル MPI ライブラリ構成 アプリケーション マルチファブリック : 異なるネットワーク上で動作するアプリケーションの開発と利用に適した容易なソリューション CFD Crash QCD BIO Climate... other インテル MPI TCP/IP Myrinet* InfiniBand* Quadrics* Shared Memory... other networks libshm libdet mpich2 Fabric switch libibal libgm Multi-fabric channel TCP/IP fallback libsock 一つのインターコネクト上でアプリケーションを開発し 複数のインターコネクト上でアプリケーションを実行 driver driver driver driver driver

15 ノード間通信 インテルクラスタツールキット 様々なインターコネクトデバイスに単一の実行モュールで対応可能 SMP クラスタ向けの機能強化 I_MPI_DEVICE 環境変数 sock インターコネクトデバイス TCP/Ethernet/sockets (default) shm Shared-memory only (no sockets) ssm rdma[:<provider>] rdssm[:<provider>] TCP + shared-memory (for SMP clusters connected via Ethernet) InfiniBand*, Myrinet*, etc. (specified via the DAPL* provider) TCP + shared-memory + DAPL* (for SMP clusters connected via RDMA-capable fabrics) Intel Trace Analyzer and Collector 6.0 より効率的なデータの収集 ( コレクタ ) 収集したデータの分析を容易にする データの統合 タグ化 フィルタリング ( アナライザ ) 見やすくなったGUI Linux および Windows 対応 Intel Trace Collector の機能 イベントベースの収集 アプリケーションの性能に与える影響は軽微 関数のトレース フェールセーフなMPIのトレース ユーザーコードを制御する為のAPIを提供 最適化されたプログラムをトレース可能 通信レイヤの分析可能 様々な実行 ( リンク ) 方法

16 インテルクラスタ MKL 共有メモリプログラミング インテル MKL のすべての機能 + ScaLAPACK ScaLAPACK 密行列で表される線型方程式の解を計算 密行列の固有値を計算 インテルプロセッサ向けに最適化 スレッドを活用したのが OpenMP によるマルチスレッドプログラミングです OpenMP は 共有メモリ上でのプログラミングとなりますので 次に 共有メモリプログラミングと OpenMP の特徴を簡単にご説明いたします 逐次実行プログラム 並列実行プログラム Memory CPU CPU CPU マルチスレッドプログラミング OpenMP や自動並列コンパイル 共有領域 Memory 並列計算 プログラム中には 多くの並列処理可能な処理が存在しているが 通常はそれらの処理を逐次的に処理している これらの並列処理可能なコードセグメントに対して 複数のプロセッサ ( コア ) による同時 並列処理を行う タスク並列処理 : 独立したサブプログラムの並列に呼び出す call fluxx(fv,fx) call fluxy(fv,fy) call fluxz(fv,fz) データ並列処理 : 独立したループ反復を分割し 並列に実行する for (y=0; y<nlines; y++) genline(model,im[y]); 共有メモリデータ並列処理 並列処理の一つの方式 データ空間を共有して並列化を行う C B A for (i=0; i<5; i++) C(i) += A(i)*B(i); for (i=5; i<10; i++) C(i) += A(i)*B(i); データ空間 for (i=95; i<100; i++) C(i) += A(i)*B(i);

17 マルチスレッドプログラミングの基本 逐次処理.vs. マルチスレッド並列処理 計算負荷の大きなループやプログラムのセクションを複数のスレッドで同時に処理 複数のスレッドを複数のプロセッサコア上で 効率良く処理する void main() { double Res[1000]; // 計算負荷の大きな計算ループに対して // マルチスレッドでの並列処理を適用します for(int i=0;i<1000;i++) { do_huge_comp(res[i]); } } OpenMP の適用 void main() { double Res[1000]; #pragma omp parallel for for(int i=0;i<1000;i++) { do_huge_comp(res[i]); } } 逐次処理 P P P P P マスタースレッド マルチスレッド ワーカースレッド による並列処理 P P P P P P P P P P プログラムのループなどの反復計算を複数のスレッドに分割し 並列処理を行う P OpenMP.vs. MPI 性能データ NAS Parallel Benchmark Intel Thread Checker 2.2 の機能 MFLOPS BT/MPI BT/OMP CG/MPI CG/OMP FT/MPI 0 Intel Bensley Platform 3.2GHz Dempsey FT/OMP IS/MPI IS/OMP LU/MPI LU/OMP MG/MPI MG/OMP SP/MPI SP/OMP 4 Threads 1 Thread 大部分の Win32と OpenMPスレッド化バグを検出 データレース ( ストレージの競合 ) デッドロック : 潜在的および実質的 スレッドストールとウェイト 診断のソースコードを表示 ( ドリルダウン ) インテル VTune と共通の操作環境 診断のワンクリック ヘルプ 考えうる原因と解決策を表示 Microsoft Visual Studio.NET IDE へ統合 VS.NET 内でスレッド チェッカーを実行して結果を表示

18 スレッドチェック診断リスト ソースコードの確認 インテルインテルコンパイラとのソース インストルメンテーションからの情報らの情報 ここをダブルクリックすると リスト中の各診断からソースコード行にジャンプします 一般的なパフォーマンス問題 並列化によるオーバーヘッド スレッド作成によるスケジューリングなど 同期化 共有データの過度な使用 同じ同期化オブジェクトの競合 ロード バランス ワークロードの不適切な配分 粒度 不十分な実行単位 スレッドのプロファイル機能 Win32 スレッド 実行時間に影響を与える同期化構造を特定 スレッド化パフォーマンスを向上するために最適化すべきコードのセクションを表示 OpenMPスレッド スレッド プロファイル データ ( 並列化領域で費やされた時間など ) を提供 ワークロードがアンバランスなスレッドを表示

19 スレッドのプロファイル解析結果 各スレッドのロードバランスに問題がある クラスタシステム クラスタ内の各ノードは高速インターコネクト テクノロジで接続されます InfiniBand や PCI Express テクノロジが登場する前は 独自規格に基づいた高性能で高価なテクノロジと 標準規格に基づいた低コストでやや性能の低いテクノロジのいずれかを選択する必要がありました コスト制約の厳しいクラスタの場合は ネットワーク接続用の Ethernet テクノロジが広く利用されていますが これは並列アプリケーションのようにノード間の緊密な連携が要求される環境ではボトルネックとなります InfiniBand ベースのインターコネクトを導入すれば このようなトレードオフは解消されます 高性能インターコネクト Memory Memory Memory Memory After P P P P P P P P P P P P P P P P Before マルチプロセッサマルチプロセッサマルチプロセッサマルチプロセッサ デュアルコアおよびマルチコア プロセッサは 1 つのプロセッサの中に 2 つまたはそれ以上の完全な実行コアを搭載することによって 複数の処理を同時に実行可能であり このようなマルチコア プロセッサを複数搭載した SMP (Symmetric Multiprocessing) 構成となり 高速のメモリアクセスとノード内でのマルチスレッドプログラミングが可能 ハイブリッドコードサンプル MPI/OpenMP ハイブリッドモデル % cat -n hybrid.f90 1 program first_hybrid 2 3 implicit none 4 include 'mpif.h' 5 6 integer :: size, rank, ierr 7 integer :: omp_get_num_threads 8 integer :: omp_get_thread_num 9 10 call mpi_init(ierr) 11 call mpi_comm_size(mpi_comm_world, size, ierr) 12 call mpi_comm_rank(mpi_comm_world, rank, ierr) 13 14!$omp parallel 15 write(6, "(4(a,i3))") " MPI: size = ", size, " rank = ", rank, & 16 " OpenMP: N_threads = ", omp_get_num_threads(), & 17 " thread = ", omp_get_thread_num() 18!$omp end parallel call mpi_finalize(ierr) 21 end % ifort -openmp hybrid.f90 -lmpi hybrid.f90(14) : (col. 6) remark: OpenMP DEFINED REGION WAS PARALLELIZED. % setenv OMP_NUM_THREADS 2 % mpirun -np 2 a.out MPI: size = 2 rank = 0 OpenMP: N_threads = 2 thread = 0 MPI: size = 2 rank = 1 OpenMP: N_threads = 2 thread = 0 MPI: size = 2 rank = 0 OpenMP: N_threads = 2 thread = 1 MPI: size = 2 rank = 1 OpenMP: N_threads = 2 thread = 1 % MPI タスク Memory P P P P 高性能インターコネクト Memory P P P P OpenMP スレッド Memory P P P P Memory P P P P MPI では領域分割などの疎粒度での並列処理を行う OpenMP は 各 MPI タスク内で ループの並列化などのより細粒度での並列化を担う 計算は タスク - スレッドの階層構造を持つ

20 階層モデルでのプログラム例 クラスタ OpenMP... call MPI_INIT( ierr ) call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr ) call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr ) call MPI_BCAST(n,1,MPI_INTEGER,0,MPI_COMM_WO RLD,ierr) c calculate the interval size h = 1.0d0/n sum = 0.0d0!$OMP PARALLEL DO!$OMP FIRSTPRIVATE(n,myid,h,numprocs)!$OMP PRIVATE(i,x)!$OMP& REDUCTION(+:sum) do i = myid+1, n, numprocs x = h * (dble(i) - 0.5d0) sum = sum + 4.d0 / (1.d0 + x*x) end do!$omp END PARALLEL DO MPI の初期化 MPI は 各タスクの実行上の設定を行う OpenMP による並列化の適用ループレベルなどの計算カーネル部分のマルチスレッド化を行う MPI による各ノード間でのデータ交換や通信 MPI の終了処理 OpenMP プログラミングモデルをクラスタ環境に拡張 基本的な並列化 API は OpenMP を利用し クラスタの各ノードへの OpenMP プログラムの分散を支援 OpenMP のメモリ階層モデルを拡張 OpenMP と同じように漸次並列化を適用することも可能 並列化効率 MPI や OpenMP ほどのプログラムの汎用性には欠ける ( 利用可能なプログラムは限定 ) 実行性能は プログラムの実装に強く依存する 分散仮想共有メモリ (DVSM) 簡単なクラスタ OpenMP プログラム例 DVSM 共用データ マルチスレッド化されたプログラム... Node 0 Node 1 Node n-1 Node n ネットワーク スイッチ等 #include <omp.h> static int x; #pragma intel omp sharable(x) sharable ディレクティブでコンパイラーに変数 x は DVSM 上に置かなければならないことを指示する int main() { x = 0; #pragma omp parallel shared(x) { #pragma omp critical x++; } printf("%d should equal %d n", omp_get_max_threads(), x); }

21 プログラムのコンパイルと実行 Cluster OpenMP スレッドとプロセス $ icc cluster-openmp test.c コンパイル時に Cluster OpenMP での並列処理を指定 $ cat kmp_cluster.ini --hostlist=rufus,dufus --processes=2 --process_threads=4 設定ファイル kmp_cluster.ini に利用する 2 つのノードを指定し 各ノード上で利用するプロセス数と各プロセスあたりのスレッド数を指定する この場合には 合わせて 8 スレッドでの並列処理となる $ a.out 8 should equal 8 Thread 0 Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thread 6 Thread 7 Thread 8 Thread 9 Thread 10 Thread 11 Process 0 Process 1 Process 2 Node 0 Node 1 Node クラスタを構成する各計算機システムプロセス Linux のプロセススレッド OpenMP のスレッド ( プロセス中のスレッド ) Thread 12 Thread 13 Thread 14 Thread 15 Process 3 Cluster OpenMP メモリモデル プロセス間で OpenMP スレッドがアクセスする変数は Sharable Variavle として指示する必要があります 通常の OpenMP の共有データの宣言では プロセス間でのデータ共有は出来ません プロセス内でのデータの共有を宣言することになります 性能 ( ベンチマーク ) データ 幾つかのベンチマークを実施した結果がインテルから報告されています (NCSA の Itanium+GigE での結果 ) Data Mining や Rendering ではある程度のスケーラビリティが示されています FPTree(Data Mining) MPEG2 Encoder Cluster OpenMP Sharable memory Process Sharable Memory Private Memory Sharable Variable Cluster OpenMP Sharable memory Process Sharable Memory Private Memory Process 0 Process

22 性能 ( ベンチマーク ) データ ご説明の内容について インテル社の Cluster OpenMP 関連の資料より抜粋 Parallel Parallel Programming for Programming for Hybrid Hybrid Architectures Architectures Tom Lehmann Tom Lehmann Technical Director Technical Director HPC Programs Office HPC Programs Office January 23, 2006 HPCシステムの発展とトレンド Proprietary.vs.COTS 64ビットコンピューティング マルチコアプロセッサ プログラム最適化と開発環境に関するトピックス コンパイラ技術と開発ツール クラスタ環境 共有メモリプログラミング まとめとして 標準コンポーネントによる HPC の進化 HPC の二極分化 システムとユーザの尺度 Going UP Peta-Scale コンピューティング 複雑なシステム構成 新しいプログラミング API の提案 アプリケーション開発 Going DOWN Commodity コンピューティング 商用 HW/SW オープンソース パーソナルクラスタ 商用アプリケーション マルチスレッド システムの尺度 Flop/s メモリサイズ (GB) プロセッサ数 データ長 システム構成 ( クラスタ ) スケーラビリティ ユーザの尺度 計算終了までの時間 モデルのサイズと計算結果 ワークロードでの試行 計算精度導入コストと運用コストベンチマーク ユーザの尺度での性能 (Performance) は 時間当たりにどれだけの仕事を処理出来るか ( 仕事量 / 時間 ) Flops での評価は実際には意味がない また 問題の規模 (small, medium, large) という評価も難しい スケーラビリティ は 対象を明確に規定する必要がある

23 HPCシステムの動向国家プロジェクトと商用製品のギャップの拡大 Going UP Peta-Scale コンピューティング 複雑なシステム構成 新しいプログラミング API の提案 アプリケーション開発 ハードウエアは Commodity なものを利用して SW の改善 サポート 利用技術のサポートが今後の主要マーケットでの成功の鍵となる Peta-Scaleコンピューティングに求められる基本技術と現在のHPCの主要マーケットでの要求はあまりにも差が大きい HPCSシステムは 各社との Commodity のマイクロプロセッサではなく 独自のプロセッサを開発中 Going DOWN Commodity コンピューティング 商用 HW/SW オープンソース パーソナルクラスタ 商用アプリケーション マルチスレッド HPCシステムの動向国家プロジェクト Going UP Peta-Scale コンピューティング 複雑なシステム構成 新しいプログラミング API の提案 アプリケーション開発 Peta-Scale コンピューティングに求められる基本技術と現在の HPC の主要マーケットでの要求はあまりにも差が大きい HPCS システムは 各社との Commodity のマイクロプロセッサではなく 独自のプロセッサを開発中 性能ギャップの拡大 ペタスケールシステムの構築 Teraflops 1, Peak Performance Performance Gap Real Performance NERSC User Group Meeting June 24-25, 2004 Osni Marques and Tony Drummond Lawrence Berkeley National Laboratory ピーク性能の大幅な向上 1990 年台は 性能の向上は 10 2 のオーダーでしたが 2000 年台になると 10 3 のオーダーで性能は向上しています しかし 多くの科学技術計算用途のアプリケーションのピーク性能に対する実効性能の比率は 5-10% となっています (1990 年代のベクトル計算機は 40-50% の対ピーク性能を示していました ) 今 必要なのは より高い実効性能を発揮することが可能な計算アルゴリズムと手法の開発とスケーラビリティの向上 プログラミングモデルなども含めて スケーラブルな計算機環境の構築 現在のテラ FLOPS 級の問題 ペタスケールシステムの構築のための兆戦 複雑さ の壁 Source: ORNL ソフトウエア ( アプリケーション OS プログラミング API など ) の課題の克服が課題 システムの複雑さと生産性例 : Linpack Benchmark オリジナルベンチマークプログラム ~100 ライン HPL ベンチマークプログラム ~10,000 ライン (x100 より複雑?)

24 システムの信頼性 HPC システムの動向商用製品 An Overview of High Performance Computing Jack Dongarra University of Tennessee and Oak Ridge National Laboratory HPC Asia 2005 ハードウエアは Commodity なものを利用して SW の改善 サポート 利用技術のサポートが今後の主要マーケットでの成功の鍵となる Going DOWN Commodity コンピューティング 商用 HW/SW オープンソース パーソナルクラスタ 商用アプリケーション マルチスレッド ビル ゲイツ氏の基調講演 HPC goes mainstream 標準コンポーネントの進化 プロセッサの性能向上 マルチコア による省電力での性能向上が可能 HPC アプリケーションは 容易に マルチコア の利点を活用可能 (OpenMP や MPI) ファイルシステム 高性能なスケーラブルファイルシステム ( オープンソース ) インターコネクト PCI-Express ( メモリ インターコネクト ) 高速の商用製品やオープンソースでの強力 (OpenIB など )

25 標準コンポーネントの利点 Platform Review 特定のベンダーからのシステムを組み合わせるのではなく 他社のシステムも含めてベストなシステムの選択が可能 スケーラブルSMP ベクトル計算機 クラスタの幅広い選択肢 64ビット マルチコアマイクロプロセッサの性能向上を最大限に活用 標準コンポーネントの技術革新の活用 PCI-Expressや FB-DIMMの利用技術 大容量の共有キャッシュ 高速 FSB バス ( スケーリング ) マルチプロセッサでのコヒレンシの維持 マルチプロセッサ構成でのフラットなメモリ ESB-2 I/O Bridge ESI x8 x8 Storage Controller Blackford MCH PXH FBD Configurable set of PCIe ports SATA-2 DIB 1066/1333 MHz 8.5/10.5 GB/s PCI-X x8 25.5/32 GB/s 10 GbE I/OAT iscsi 10 GbE 3 世代のマイクロプロセッサをサポート Point-to-Point での接続インターコネクト メモリ構成の拡張性 ( 最大 64GB) スループットとバランスに優れた MCH 構成 Breaking the 1-2K nodes Barrier! 音の障壁, サウンド バリヤー (sound barrier) 飛行機の速度が音速近くになると, 衝撃波の発生によって, 抵抗の増大, 境界層の剥離など, 設計 運用上のさまざまな障害 ( 壁 ) に出合って, 超音速飛行は不可能かと思われた時代があった (1947 年ごろまで ) ので, 音の障壁といわれていた クラスタのノード数が ある規模に近くなると その構築や運用において 負担の増大 システムの安定稼動 スケーラビリティなど 設計 運用上のさまざまな障害 ( 壁 ) に出合って, クラスタ構築は不可能と思われた時代があった (?) 米国エネルギー省サンディア国立研究所 システム : 4096 Dell Servers 50% Blocking Ratio 8 TS-740s 256 TS-120s TOP500 (Nov.5th) No.5 用途 : Capability クラスタ 標準コンポーネントでのシステム構築 Core Fabric Edge 18 Compute Nodes) 8x SFS TS ports each 2048 uplinks (7m/10m/15m/20m) 256x TS ports each 8192 Processor 60TFlop SuperCluster 18 Compute Nodes)

26 HPC システムでのワークロード HPC システムでのワークロード ワークロード Homogeneous Heterogeneous Capability 特徴 シンプルなアプリケーション実行 ( 同じサイズ 同様な問題 規模 解析時間 ) 容易な並列化 並列実行が可能事例 : レンダリング 小規模ジョブの多数実行 複雑で多様な複数ジョブ ( 問題の規模 実行時間や実行に要するリソース量が異なる ) の同時実行複雑な計算処理とプロセス事例 : 大規模なMCAE 解析 多くの科学技術計算シュミレーション大規模で複雑な数値シュミレーション (CPU メモリ I/Oへの高い要求 ) 複雑なデータマネージメントが求められる事例 : 気象予測 ( 地球環境シュミレーション ) やMDO( 複合問題など ) シングルコアプロセッサをベースとするクラスタシステム Homogeneous シングルスレッドジョブの多重実行 Capability MPI による大規模並列処理 マルチコアプロセッサをベースとするクラスタシステム Homogeneous Heterogeneous Capability OpenMP や自動並列化 さらに詳しい情報は.. 弊社のコンサルテーションに関するご提案資料もダウンロード可能です ( 非公開 WEB ページ ) 別途 弊社に内容等については お尋ねください お問い合わせ先 : 東京都千代田区麹町 BUREX 麹町 8F 電話 : FAX: biz@sstc.co.jp ハイエンドコンピューティングに関するコンサルテーションとして 幅広いサービスをご提供致します このサービスを最大限に活用していただくことで コラボレーションによる 顧客志向 のコンサルテーションサービスをご提供できればと思っております

27 この資料について 社名 製品名などは 一般に各社の商標または登録商標です 無断での引用 転載を禁じます In general, the name of the company and the product name, etc. are the trademarks or, registered trademarks of each company. Copyright Scalable Systems Co., Ltd., Unauthorized use is strictly forbidden 年 4 月

PowerPoint プレゼンテーション

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

More information

PowerPoint プレゼンテーション

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Foundation アプライアンス スケーラブルシステムズ株式会社 サーバ クラスタの課題 複数のシステムを一つの だけで容易に管理することは出来ないだろうか? アプリケーションがより多くのメモリを必要とするのだけど ハードウエアの増設なしで対応出来ないだろうか? 現在の利用環境のまま 利用できるコア数やメモリサイズの増強を図ることは出来ないだろうか? 短時間で導入可能で また 必要に応じて 柔軟にシステム構成の変更が可能なソリューションは無いだろうか?...

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

スライド 1

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

More information

スライド 1

スライド 1 High Performance and Productivity HPC システムの課題と挑戦 1986 日本クレイ株式会社入社 SE セールスサポート マーケティングサポートなどの活動と技術面で会社をリードしています 1996 日本 SGI 株式会社 (SGIのCray 買収により ) SEディレクター 製品技術本部長など 2003 執行役員チーフテクノロジーオフィサー SGI 製品はもちろん

More information

スライド 1

スライド 1 High Performance and Productivity 並列プログラミング課題と挑戦 HPC システムの利用の拡大の背景 シュミレーションへの要求 より複雑な問題をより精度良くシュミレーションすることが求められている HPC システムでの並列処理の要求の拡大 1. モデル アルゴリズム 解析対象は何れもより複雑で 規模の大きなものになっている 2. マイクロプロセッサのマルチコア化 3.

More information

Class Overview

Class Overview マルチスレッドプログラミング入門 OpenMP Cluster OpenMP による並列プログラミング 内容 はじめに なぜ マルチスレッドプログラミング? 並列処理について マルチスレッドプログラミングの概要 並列処理での留意点 OpenMPによるマルチスレッドプログラミングのご紹介 まとめとして 参考資料のご紹介 2 なぜ マルチスレッドプログラミング? HW の進化 マイクロプロセッサのマルチコア化が進み

More information

システムソリューションのご紹介

システムソリューションのご紹介 HP 2 C 製品 :VXPRO/VXSMP サーバ 製品アップデート 製品アップデート VXPRO と VXSMP での製品オプションの追加 8 ポート InfiniBand スイッチ Netlist HyperCloud メモリ VXPRO R2284 GPU サーバ 製品アップデート 8 ポート InfiniBand スイッチ IS5022 8 ポート 40G InfiniBand スイッチ

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

スライド 1

スライド 1 期間限定販売プログラム vsmp Foundation クラスタを仮想化して運用と管理の容易なシングルシステムを構築様々なリソースを柔軟に統合化 Panasas ActiveStor 研究開発やエンタープライズクラスのワークロードに理想的なハイブリッドスケールアウト NAS アプライアンス 販売プログラム PANASAS ACTIVESTORE 仮想化ソフトウエア無償提供 2 販売プログラムの内容

More information

PassMark PerformanceTest ™

PassMark PerformanceTest ™ KRONOS S ライン 性能ベンチマーク オーバークロックモニター OCCT OverClock Checking Tool i7z (A better i7 (and now i3, i5) reporting tool for Linux) KRONOS S800 CATIA Benchmark Aerospace - 8/17 passengers Jet - Mid Fuse DELL Precision

More information

Intel® Compilers Professional Editions

Intel® Compilers Professional Editions 2007 6 10.0 * 10.0 6 5 Software &Solutions group 10.0 (SV) C++ Fortran OpenMP* OpenMP API / : 200 C/C++ Fortran : OpenMP : : : $ cat -n main.cpp 1 #include 2 int foo(const char *); 3 int main()

More information

02_C-C++_osx.indd

02_C-C++_osx.indd C/C++ OpenMP* / 2 C/C++ OpenMP* OpenMP* 9.0 1... 2 2... 3 3OpenMP*... 5 3.1... 5 3.2 OpenMP*... 6 3.3 OpenMP*... 8 4OpenMP*... 9 4.1... 9 4.2 OpenMP*... 9 4.3 OpenMP*... 10 4.4... 10 5OpenMP*... 11 5.1

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

コードのチューニング

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

More information

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

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

TOP500 Processor Family share(システム数) Intel EM64T .vs. AMD x86_64

TOP500 Processor Family share(システム数) Intel EM64T .vs. AMD x86_64 TOP500 におけるプロセッサ 動 向 の 分 析 この 資 料 について ここに 掲 載 した 資 料 は 弊 社 の 調 査 と 見 解 に 基 くものであり 資 料 の 中 で 示 されている 製 品 やサービスを 提 供 している 各 社 の 公 式 な 見 解 でも また マーケティング 戦 略 に 基 くも のではありません あくまで 弊 社 としての 意 見 だということにご 注 意

More information

untitled

untitled taisuke@cs.tsukuba.ac.jp http://www.hpcs.is.tsukuba.ac.jp/~taisuke/ CP-PACS HPC PC post CP-PACS CP-PACS II 1990 HPC RWCP, HPC かつての世界最高速計算機も 1996年11月のTOP500 第一位 ピーク性能 614 GFLOPS Linpack性能 368 GFLOPS (地球シミュレータの前

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

Microsoft Word - SSTC_Intel_Core.doc

Microsoft Word - SSTC_Intel_Core.doc 技術メモ インテル Core マイクロアーキテクチャ スケーラブルシステムズ株式会社 技術メモ インテル Core マイクロアーキテクチャ 1. はじめに... 2 2. Intel Core マイクロアーキテクチャ... 3 3. マイクロプロセッサの性能を左右するものは?... 5 4. Intel Core マイクロアーキテクチャに投入された主要技術... 6 Advanced Digital

More information

1重谷.PDF

1重谷.PDF RSCC RSCC RSCC BMT 1 6 3 3000 3000 200310 1994 19942 VPP500/32PE 19992 VPP700E/128PE 160PE 20043 2 2 PC Linux 2048 CPU Intel Xeon 3.06GHzDual) 12.5 TFLOPS SX-7 32CPU/256GB 282.5 GFLOPS Linux 3 PC 1999

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

インテル アーキテクチャプラットフォーム リーダーシップ 2000 年 12 月 21 日 第 14 回数値流体力学シンポジウム インテル株式会社 ia 技術本部本部長坂野勝美

インテル アーキテクチャプラットフォーム リーダーシップ 2000 年 12 月 21 日 第 14 回数値流体力学シンポジウム インテル株式会社 ia 技術本部本部長坂野勝美 インテル アーキテクチャプラットフォーム リーダーシップ 2000 年 12 月 21 日 第 14 回数値流体力学シンポジウム インテル株式会社 ia 技術本部本部長坂野勝美 インテル アーキテクチャ プロセッサロードマップ 2000 年第 4 四半期 2001 年上半期 サーバ / インテル Pentium III インテル Itanium ワークステーション Xeon プロセッサプロセッサ パフォーマンスインテル

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

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

スライド 1

スライド 1 High Performance and Productivity HPC システムの課題と挑戦 HP 2 C:High Performance and Productivity HPC システムの課題と挑戦 HPC マーケットの動向と HPC プラットフォームの課題 クラスタ.vs. SMP システム TCO の問題 HPC システムの考察 ~ 製品事例による HP 2 C システム提案 パーソナルクラスタ

More information

v10 IA-32 64¹ IA-64²

v10 IA-32 64¹ IA-64² v10 IA-32 64¹ IA-64² 1. 2. 3. 4. 5. 6. /Od (-O0) Windows* /O1 /O2 /O3 Linux* Mac OS* -O1 -O2 -O3 /O2 ( O2) /O3 (-O3) IA-64 Core 2 /QxT ( xt) IA-32 64 IA-32 64 Itanium 2 9000 /G2-p9000 ( mtune=itanium2-p9000)

More information

Microsoft PowerPoint - sales2.ppt

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

More information

演習1: 演習準備

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

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

Product Brief 高速なコードを素早く開発 インテル Parallel Studio XE 2017 インテル ソフトウェア開発ツール 概要 高速なコード : 現在および次世代のプロセッサーでスケーリングする優れたアプリケーション パフォーマンスを実現します 迅速に開発 : 高速かつ安定し

Product Brief 高速なコードを素早く開発 インテル Parallel Studio XE 2017 インテル ソフトウェア開発ツール 概要 高速なコード : 現在および次世代のプロセッサーでスケーリングする優れたアプリケーション パフォーマンスを実現します 迅速に開発 : 高速かつ安定し Product Brief 高速なコードを素早く開発 インテル Parallel Studio XE 2017 インテル ソフトウェア開発ツール 概要 高速なコード : 現在および次世代のプロセッサーでスケーリングする優れたアプリケーション パフォーマンスを実現します 迅速に開発 : 高速かつ安定した並列コードの作成を簡略化するツールセットです : 最先端のコンパイラー ライブラリー 並列モデル インテル

More information

NUMAの構成

NUMAの構成 メッセージパッシング プログラミング 天野 共有メモリ対メッセージパッシング 共有メモリモデル 共有変数を用いた単純な記述自動並列化コンパイラ簡単なディレクティブによる並列化 :OpenMP メッセージパッシング 形式検証が可能 ( ブロッキング ) 副作用がない ( 共有変数は副作用そのもの ) コストが小さい メッセージパッシングモデル 共有変数は使わない 共有メモリがないマシンでも実装可能 クラスタ

More information

untitled

untitled AMD HPC GP-GPU Opteron HPC 2 1 AMD Opteron 85 FLOPS 10,480 TOP500 16 T2K 95 FLOPS 10,800 140 FLOPS 15,200 61 FLOPS 7,200 3 Barcelona 4 2 AMD Opteron CPU!! ( ) L1 5 2003 2004 2005 2006 2007 2008 2009 2010

More information

High Performance Computng 過去と現在、そして未来へ

High Performance Computng 過去と現在、そして未来へ High Performance Computing れば 以て師と為るべし 故きを温ねて新しきを知 温故知新 温故知新 はじめに HPCシステムの歴史 HPCシステムの課題 ソフトウエア ハードウエア マイクロプロセッサ HPC システム HPC から HPMS (High-Performance Modeling and Simulation) 計算システム + ストレージ + 可視化の統合システム

More information

Class Overview

Class Overview マルチスレッドプログラミング入門 OpenMP Cluster OpenMP による並列プログラミング 内容 はじめに なぜ マルチスレッドプログラミング? 並列処理について マルチスレッドプログラミングの概要 並列処理での留意点 OpenMP と Cluster OpenMP によるマルチスレッドプログラミングのご紹介 まとめとして 参考資料のご紹介 2 なぜ マルチスレッドプログラミング? HW

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 Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc Article ID: NVSI-050110JP Created: 2005/10/19 Revised: - NetVault 仮想テープ ライブラリのパフォーマンス検証 : dothill SANnetⅡSATA 編 1. 検証の目的 ドットヒルシステムズ株式会社の SANnetll SATA は 安価な SATA ドライブを使用した大容量ストレージで ディスクへのバックアップを行う際の対象デバイスとして最適と言えます

More information

サーバプラットフォーム「BladeSymphony」、「HA8000シリーズ」の新モデルを販売開始

サーバプラットフォーム「BladeSymphony」、「HA8000シリーズ」の新モデルを販売開始 006 年 6 月 6 日 サーバプラットフォーム BladeSymphony シリーズ の新モデルを販売開始 最新のデュアルコアプロセッサーを採用 同時に シリーズ ではラインアップを一新 /70W /30W BladeSymphony BS30 日立製作所情報 通信グループ ( グループ長 &CEO: 篠本学 以下 日立 ) は 統合サービスプラットフォーム BladeSymphony およびアドバンストサーバ

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Oracle GRID Center Flash SSD + 最新ストレージと Oracle Database で実現するデータベース統合の新しい形 2011 年 2 月 23 日日本オラクル Grid Center エンジニア岩本知博 進化し続けるストレージ関連技術 高速ストレージネットワークの多様化 低価格化 10GbE FCoE 8Gb FC ディスクドライブの多様化および大容量 / 低価格化

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 - sales2.ppt

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

More information

Oracle Real Application Clusters 10g: 第4世代

Oracle Real Application Clusters 10g: 第4世代 Oracle Real Application Clusters 10g: Angelo Pruscino, Oracle Gordon Smith, Oracle Oracle Real Application Clusters RAC 10g Oracle RAC 10g Oracle Database 10g Oracle RAC 10g 4 Oracle Database 10g Oracle

More information

Intel MPI Library Linux

Intel MPI Library Linux インテル MPI ライブラリ Linux* 版 v1.0 GOLD インストール ガイド 重要 製品をインストールするには 有効なライセンス ファイルが必要です 製品をインストールする前に 本書を必ずお読みいただき 有効なライセンス ファイルを入手してください 詳しくは 1 ページの インストールの前に 製品の登録が必要です をご参照ください エクセルソフト株式会社 www.xlsoft.com インテル

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

NUMAの構成

NUMAの構成 共有メモリを使ったデータ交換と同期 慶應義塾大学理工学部 天野英晴 hunga@am.ics.keio.ac.jp 同期の必要性 あるプロセッサが共有メモリに書いても 別のプロセッサにはそのことが分からない 同時に同じ共有変数に書き込みすると 結果がどうなるか分からない そもそも共有メモリって結構危険な代物 多くのプロセッサが並列に動くには何かの制御機構が要る 不可分命令 同期用メモリ バリア同期機構

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

FFTSS Library Version 3.0 User's Guide

FFTSS Library Version 3.0 User's Guide : 19 10 31 FFTSS 3.0 Copyright (C) 2002-2007 The Scalable Software Infrastructure Project, (CREST),,. http://www.ssisc.org/ Contents 1 4 2 (DFT) 4 3 4 3.1 UNIX............................................

More information

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

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx 並列計算の概念 ( プロセスとスレッド ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 並列計算の分類 並列アーキテクチャ 並列計算機システム 並列処理 プロセスとスレッド スレッド並列化 OpenMP プロセス並列化 MPI 249 CPU の性能の変化 動作クロックを向上させることで性能を向上 http://pc.watch.impress.co.jp/docs/2003/0227/kaigai01.htm

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

内容 インテル Advisor ベクトル化アドバイザー入門ガイド Version インテル Advisor の利用 ワークフロー... 3 STEP1. 必要条件の設定... 4 STEP2. インテル Advisor の起動... 5 STEP3. プロジェクトの作成

内容 インテル Advisor ベクトル化アドバイザー入門ガイド Version インテル Advisor の利用 ワークフロー... 3 STEP1. 必要条件の設定... 4 STEP2. インテル Advisor の起動... 5 STEP3. プロジェクトの作成 内容 インテル Advisor ベクトル化アドバイザー入門ガイド Version 1.0 1. インテル Advisor の利用... 2 2. ワークフロー... 3 STEP1. 必要条件の設定... 4 STEP2. インテル Advisor の起動... 5 STEP3. プロジェクトの作成と設定... 7 STEP4. ベクトル化に関する情報を取得する... 9 STEP5. ループ処理の詳細を取得する...

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

Microsoft PowerPoint _AMD.ppt

Microsoft PowerPoint _AMD.ppt AMD プロセッサ最新情報およびクラスタに関する取り組みについて 16 th December, 2005 日本 AMD 株式会社エンタ - プライズビジネスデベロップメント部山野洋幸 プレゼンテーションアジェンダ! AMDについて! デュアルコアAMD Opteron プロセッサ! AMD Opteron プロセッサロードマップ! クラスタへの取り組み! まとめ 2 AMD について 3 AMD

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 並列アルゴリズム 2005 年後期火曜 2 限 高見利也 ( 青柳睦 ) Aoyagi@cc.kyushu-u.ac.jp http://server-500.cc.kyushu-u.ac.jp/ 12 月 20 日 ( 火 ) 9. PC クラスタによる並列プログラミング ( 演習 ) つづき 1 もくじ 1. 序並列計算機の現状 2. 計算方式およびアーキテクチュアの分類 3. 並列計算の目的と課題

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 Quality-sama_Seminar.pptx

Microsoft PowerPoint Quality-sama_Seminar.pptx インテル vpro テクノロジー ~ 革新と継続的な進化 ~ インテル株式会社マーケティング本部 2010 年 11 月 2010年の新プロセッサー: 更なるパフォーマンスを スマート に実現 ユーザーのワークロードに合わせて プロセッサーの周波数を動的に向上 インテル インテル ターボ ブースト テクノロジー* ターボ ブースト テクノロジー* 暗号化処理を高速化 保護する 新しいプロセッサー命令

More information

並列計算導入.pptx

並列計算導入.pptx 並列計算の基礎 MPI を用いた並列計算 並列計算の環境 並列計算 複数の計算ユニット(PU, ore, Pなど を使用して 一つの問題 計算 を行わせる 近年 並列計算を手軽に使用できる環境が急速に整いつつある >通常のP PU(entral Processing Unit)上に計算装置であるoreが 複数含まれている Intel ore i7 シリーズ: 4つの計算装置(ore) 通常のプログラム

More information

Microsoft PowerPoint - 高速化WS富山.pptx

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

More information

develop

develop SCore SCore 02/03/20 2 1 HA (High Availability) HPC (High Performance Computing) 02/03/20 3 HA (High Availability) Mail/Web/News/File Server HPC (High Performance Computing) Job Dispatching( ) Parallel

More information

スライド 1

スライド 1 本日 (4/25) の内容 1 並列計算の概要 並列化計算の目的 並列コンピュータ環境 並列プログラミングの方法 MPI を用いた並列プログラミング 並列化効率 2 並列計算の実行方法 Hello world モンテカルロ法による円周率計算 並列計算のはじまり 並列計算の最初の構想を イギリスの科学者リチャードソンが 1922 年に発表 < リチャードソンの夢 > 64000 人を円形の劇場に集めて

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション PC クラスタシンポジウム 日立のテクニカルコンピューティングへの取り組み 2010/12/10 株式会社日立製作所中央研究所清水正明 1 目次 1 2 3 日立テクニカルサーバラインナップ 日立サーバラインナップ GPU コンピューティングへの取り組み 4 SC10 日立展示 2 1-1 日立テクニカルサーバ : History & Future Almost 30 Years of Super

More information

IntelR Compilers Professional Editions

IntelR Compilers Professional Editions June 2007 インテル コンパイラー プロフェッショナル エディション Phil De La Zerda 公開が禁止された情報が含まれています 本資料に含まれるインテル コンパイラー 10.0 についての情報は 6 月 5 日まで公開が禁止されています グローバル ビジネス デベロップメント ディレクター Intel Corporation マルチコア プロセッサーがもたらす変革 これまでは

More information

PowerPoint Presentation

PowerPoint Presentation インテル ソフトウェア開発製品によるソースコードの近代化 エクセルソフト株式会社黒澤一平 ソースコードの近代化 インテル Xeon Phi プロセッサーや 将来のインテル Xeon プロセッサー上での実行に向けた準備と適用 インテル ソフトウェア製品 名称インテル Composer XE for Fortran and C++ インテル VTune Amplifier XE インテル Advisor

More information

cmpsys15w07_os.ppt

cmpsys15w07_os.ppt 情報システム論 第 7 週ソフトウェアシステム Operating System (part I) 根來 均 ソフトウェア (Software) とは プログラムと同義もしくは各種プログラムの総称 ソフトウェアは 記憶装置上などに 電子的にのみ (0/1 で記録された情報として ) 存在する ソフトウェアに対して 物理的に存在する CPU 等の各種装置をハードウェア Hardware と呼ぶ 例えば

More information

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt インテルコンパイラー 入門セミナー [ 対象製品 ] インテル C++ コンパイラー 9.1 Windows* 版インテル Visual Fortran コンパイラー 9.1 Windows* 版 資料作成 : エクセルソフト株式会社 Copyright 1998-2007 XLsoft Corporation. All Rights Reserved. 1 インテル コンパイラー入門 本セミナーの内容

More information

untitled

untitled PC murakami@cc.kyushu-u.ac.jp muscle server blade server PC PC + EHPC/Eric (Embedded HPC with Eric) 1216 Compact PCI Compact PCIPC Compact PCISH-4 Compact PCISH-4 Eric Eric EHPC/Eric EHPC/Eric Gigabit

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

XcalableMP入門

XcalableMP入門 XcalableMP 1 HPC-Phys@, 2018 8 22 XcalableMP XMP XMP Lattice QCD!2 XMP MPI MPI!3 XMP 1/2 PCXMP MPI Fortran CCoarray C++ MPIMPI XMP OpenMP http://xcalablemp.org!4 XMP 2/2 SPMD (Single Program Multiple Data)

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

橡3_2石川.PDF

橡3_2石川.PDF PC RWC 01/10/31 2 1 SCore 1,024 PC SCore III PC 01/10/31 3 SCore SCore Aug. 1995 Feb. 1996 Oct. 1996 1997-1998 Oct. 1999 Oct. 2000 April. 2001 01/10/31 4 2 SCore University of Bonn, Germany University

More information

Corp ENT 3C PPT Template Title

Corp ENT 3C PPT Template Title NetApp FAS シリーズ向け ストレージセキュリティのご紹介 ServerProtect for Storage on NetApp トレンドマイクロ株式会社 1 Copyright 2016 Trend Micro Incorporated. All rights reserved. Last Updated 2016/03/28 ServerProtect for Storage on NetApp

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

09中西

09中西 PC NEC Linux (1) (2) (1) (2) 1 Linux Linux 2002.11.22) LLNL Linux Intel Xeon 2300 ASCIWhite1/7 / HPC (IDC) 2002 800 2005 2004 HPC 80%Linux) Linux ASCI Purple (ASCI 100TFlops Blue Gene/L 1PFlops (2005)

More information

Microsoft PowerPoint - ★13_日立_清水.ppt

Microsoft PowerPoint - ★13_日立_清水.ppt PC クラスタワークショップ in 京都 日立テクニカルコンピューティングクラスタ 2008/7/25 清水正明 日立製作所中央研究所 1 目次 1 2 3 4 日立テクニカルサーバラインナップ SR16000 シリーズ HA8000-tc/RS425 日立自動並列化コンパイラ 2 1 1-1 日立テクニカルサーバの歴史 最大性能 100TF 10TF 30 年間で百万倍以上の向上 (5 年で 10

More information

IBM Rational Software Delivery Platform v7.0 What's

IBM Rational Software Delivery Platform v7.0 What's IBM Rational Software Delivery Platform V7.0 デスクトップ製品 V7.0 リリースの全体像および製品共通の新機能 2006 年 12 月 15 日 当資料は 2006/12/15 時点の情報に基づいて作成されていますが 事前の予告なく変更される場合があります IBM Tivoli WebSphere ClearCase ClearQuest Rational

More information

proventia_site_protector_sp8_sysreq

proventia_site_protector_sp8_sysreq SiteProtector 2.0 Service Pack 8.x システム要件 2010 年 7 月 26 日 SiteProtector 2.0 Service Pack 8.x システム要件... 1 Service Pack 8.1 - SiteProtector システム要件... 1 Service Pack 8.1 仮想環境... 1 Service Pack 8.1 - Express

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

120802_MPI.ppt

120802_MPI.ppt CPU CPU CPU CPU CPU SMP Symmetric MultiProcessing CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CP OpenMP MPI MPI CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU MPI MPI+OpenMP CPU CPU CPU CPU CPU CPU CPU CP

More information

The Parallel Universe 1 インテル MPI ライブラリーのマルチ EP によりハイブリッド アプリケーションのパフォーマンスを向上 最小限のコード変更でエクサスケール時代に備える Rama Kishan Malladi インテルコーポレーショングラフィックス パフォーマンス モ

The Parallel Universe 1 インテル MPI ライブラリーのマルチ EP によりハイブリッド アプリケーションのパフォーマンスを向上 最小限のコード変更でエクサスケール時代に備える Rama Kishan Malladi インテルコーポレーショングラフィックス パフォーマンス モ 1 インテル MPI ライブラリーのマルチ EP によりハイブリッド アプリケーションのパフォーマンスを向上 最小限のコード変更でエクサスケール時代に備える Rama Kishan Malladi インテルコーポレーショングラフィックス パフォーマンス モデリング エンジニア Dr. Amarpal Singh Kapoor インテルコーポレーションテクニカル コンサルティング エンジニア 1990

More information

about MPI

about MPI 本日 (4/16) の内容 1 並列計算の概要 並列化計算の目的 並列コンピュータ環境 並列プログラミングの方法 MPI を用いた並列プログラミング 並列化効率 2 並列計算の実行方法 Hello world モンテカルロ法による円周率計算 並列計算のはじまり 並列計算の最初の構想を イギリスの科学者リチャードソンが 1922 年に発表 < リチャードソンの夢 > 64000 人を円形の劇場に集めて

More information

インテル(R) Visual Fortran Composer XE

インテル(R) Visual Fortran Composer XE Visual Fortran Composer XE 1. 2. 3. 4. 5. Visual Studio 6. Visual Studio 7. 8. Compaq Visual Fortran 9. Visual Studio 10. 2 https://registrationcenter.intel.com/regcenter/ w_fcompxe_all_jp_2013_sp1.1.139.exe

More information

MPI usage

MPI usage MPI (Version 0.99 2006 11 8 ) 1 1 MPI ( Message Passing Interface ) 1 1.1 MPI................................. 1 1.2............................... 2 1.2.1 MPI GATHER.......................... 2 1.2.2

More information

資料3 今後のHPC技術に関する研究開発の方向性について(日立製作所提供資料)

資料3 今後のHPC技術に関する研究開発の方向性について(日立製作所提供資料) 今後の HPC 技術に関する 研究開発の方向性について 2012 年 5 月 30 日 ( 株 ) 日立製作所情報 通信システム社 IT プラットフォーム事業本部 Hitachi, Hitachi, Ltd. Ltd. Hitachi 2012. 2012. Ltd. 2012. All rights All rights All rights reserved. reserved. reserved.

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

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

untitled

untitled OS 2007/4/27 1 Uni-processor system revisited Memory disk controller frame buffer network interface various devices bus 2 1 Uni-processor system today Intel i850 chipset block diagram Source: intel web

More information

共通マイクロアーキテクチャ 富士通はプロセッサー設計に共通マイクロアーキテクチャを導入し メインフレーム UNIX サーバーおよびスーパーコンピューターそれぞれの要件を満たすプロセッサーの継続的かつ効率的な開発を容易にしている また この取り組みにより それぞれの固有要件を共通機能として取り込むこと

共通マイクロアーキテクチャ 富士通はプロセッサー設計に共通マイクロアーキテクチャを導入し メインフレーム UNIX サーバーおよびスーパーコンピューターそれぞれの要件を満たすプロセッサーの継続的かつ効率的な開発を容易にしている また この取り組みにより それぞれの固有要件を共通機能として取り込むこと IDC ホワイトペーパー : メインフレーム UNIX サーバー スーパーコンピューターを統合開発 : 共通マイクロプロセッサーアーキテクチャ 共通マイクロアーキテクチャ 富士通はプロセッサー設計に共通マイクロアーキテクチャを導入し メインフレーム UNIX サーバーおよびスーパーコンピューターそれぞれの要件を満たすプロセッサーの継続的かつ効率的な開発を容易にしている また この取り組みにより それぞれの固有要件を共通機能として取り込むことを可能としている

More information

修士論文

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

More information

卒業論文

卒業論文 PC OpenMP SCore PC OpenMP PC PC PC Myrinet PC PC 1 OpenMP 2 1 3 3 PC 8 OpenMP 11 15 15 16 16 18 19 19 19 20 20 21 21 23 26 29 30 31 32 33 4 5 6 7 SCore 9 PC 10 OpenMP 14 16 17 10 17 11 19 12 19 13 20 1421

More information

PGRelief C/C++ 強化ポイント説明書

PGRelief C/C++ 強化ポイント説明書 PGRelief C/C++ 強化ポイント説明書 1. 最新バージョンの強化ポイント (2017autumn 2018) 1) CERT Cコーディングスタンダードの適合性チェックを追加 CERTオプションの購入が必要 2) 指摘メッセージを16 個追加 ( うち15 個はCERTオプション用 ) 3) Visual C++ 2015 の資産に対応 2. 過去バージョンの強化ポイント 2.1. 強化ポイント

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

DPD Software Development Products Overview

DPD Software Development Products Overview 2 2007 Intel Corporation. Core 2 Core 2 Duo 2006/07/27 Core 2 precise VTune Core 2 Quad 2006/11/14 VTune Core 2 ( ) 1 David Levinthal 3 2007 Intel Corporation. PC Core 2 Extreme QX6800 2.93GHz, 1066MHz

More information

インテル(R) C++ Composer XE 2011 Windows版 入門ガイド

インテル(R) C++ Composer XE 2011 Windows版 入門ガイド C++ Composer XE 2011 Windows* エクセルソフト株式会社 www.xlsoft.com Rev. 1.2 (2011/05/03) Copyright 1998-2011 XLsoft Corporation. All Rights Reserved. 1 / 70 ... 4... 5... 6... 8 /... 8... 10 /... 11... 11 /... 13

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

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

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

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

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

PNopenseminar_2011_開発stack

PNopenseminar_2011_開発stack PROFINET Open Seminar 開発セミナー Software Stack FPGA IP core PROFINET 対応製品の開発 2 ユーザ要求要求は多種多様 複雑な規格の仕様を一から勉強するのはちょっと.. できるだけ短期間で 柔軟なスケジュールで進めたい既存のハードウェアを変更することなく PN を対応させたい将来的な仕様拡張に対してシームレスに統合したい同じハードウェアで複数の

More information