Introduction to OpenMP* 4.0 for SIMD and Affinity Features with Intel® Xeon® Processors and Intel® Xeon Phi™ Coprocessors
|
|
|
- あきみ じゅふく
- 7 years ago
- Views:
Transcription
1 OpenMP* 4.0 における SIMD およびアフィニティー機能の導入
2 法務上の注意書きと最適化に関する注意事項 本資料に掲載されている情報は インテル製品の概要説明を目的としたものです 本資料は 明示されているか否かにかかわらず また禁反言によるとよらずにかかわらず いかなる知的財産権のライセンスを許諾するものではありません 製品に付属の売買契約書 Intel's Terms and Conditions of Sale に規定されている場合を除き インテルはいかなる責任を負うものではなく またインテル製品の販売や使用に関する明示または黙示の保証 ( 特定目的への適合性 商品適格性 あらゆる特許権 著作権 その他知的財産権の非侵害性への保証を含む ) に関してもいかなる責任も負いません 性能に関するテストに使用されるソフトウェアとワークロードは 性能がインテル マイクロプロセッサー用に最適化されていることがあります SYSmark* や MobileMark* などの性能テストは 特定のコンピューター システム コンポーネント ソフトウェア 操作 機能に基づいて行ったものです 結果はこれらの要因によって異なります 製品の購入を検討される場合は 他の製品と組み合わせた場合の本製品の性能など ほかの情報や性能テストも参考にして パフォーマンスを総合的に評価することをお勧めします 2013 Intel Corporation. 無断での引用 転載を禁じます Intel インテル Intel ロゴ Intel Core Intel Xeon Phi Xeon は アメリカ合衆国および / またはその他の国における Intel Corporation の商標です * その他の社名 製品名などは 一般に各社の表示 商標または登録商標です 最適化に関する注意事項 インテル コンパイラーは 互換マイクロプロセッサー向けには インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります これには インテル ストリーミング SIMD 拡張命令 2 ( インテル SSE2) インテル ストリーミング SIMD 拡張命令 3 ( インテル SSE3) ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます インテルでは インテル製ではないマイクロプロセッサーに対して 最適化の提供 機能 効果を保証していません 本製品のマイクロプロセッサー固有の最適化は インテル製マイクロプロセッサーでの使用を目的としています インテル マイクロアーキテクチャーに非固有の特定の最適化は インテル製マイクロプロセッサー向けに予約されています この注意事項で対象としている特定の命令セットに関する詳細は 該当製品のユーザーズガイドまたはリファレンス ガイドを参照してください 改訂 #
3 OpenMP* API 業界標準の OpenMP 4.0 共有メモリー型並列プログラミング向けの C/C++ と Fortran 向け API 宣言子 (C/C++ ではプラグマ ) ベース ベンダーやプラットフォームに渡る移植性 様々なタイプの並列性をサポート
4 ハードウェアの進化 ( インテル ) イメージは実際のダイサイズを反映することを意図していません 64 ビットインテル Xeon プロセッサー インテル Xeon プロセッサー 5100 シリーズ インテル Xeon プロセッサー 5500 シリーズ インテル Xeon プロセッサー 5600 シリーズ インテル Xeon プロセッサー E5-200v2 シリーズ インテル Xeon Phi コプロセッサー 7120P 周波数 3.6GHz 3.0GHz 3.2GHz 3.3GHz 2.7GHz 1.238MHz コア スレッド SIMD 幅 128 (2 クロック ) 128 (1 クロック ) 128 (1 クロック ) 128 (1 クロック ) 256 (1 クロック ) 512 (1 クロック )
5 OpenMP 4.0 における並列性レベル クラスター コンピューターのグループ高速相互接続を介して通信 デバイス向けの OpenMP 4.0 コプロセッサー / アクセラレーター ノード ソケット コア ハイパースレッド スーパースカラー 特殊な計算デバイス特別な相互接続を介してローカルノードに接続 OpenMP 4.0 アフィニテプロセッサーのグループ OpenMP 4.0 アフィニティーィー共有メモリーを介して通信 コアのグループ共有キャッシュを介して通信 機能ユニットのグループレジスターを介して通信 機能ユニットを共有するスレッド コンテキストのグループ 機能ユニットを共有する命令グループ パイプライン ベクトル 機能ユニットを共有する命令のシーケンス 複数の機能ユニットを使用する単一命令 OpenMP 4.0 SIMD
6 OpenMP 4.0 SIMD
7 OpenMP 4.0 以前 プログラムは自動ベクトル化に依存 もしくは ベクトル固有拡張を使用 プログラム モデル ( 例えば インテル Cilk Plus) コンパイラー プラグマ ( 例えば #pragma vector) 低レベルの構文 ( 例えば mm_add_pd()) #pragma omp parallel for #pragma vector always #pragma ivdep for (int i = 0; i < N; i++) { a[i] = b[i] +...; } コンパイラーが " 正しい " ことをするのを信頼する必要がある
8 OpenMP* SIMD 構文 ループの入れ子をベクトル化 ループを SIMD ベクトル レジスターに収まるようにチャンクに分割 ループ本体を並列化しない 構文 (C/C++) #pragma omp simd [ 節 [[,] 節 ], ] for ループ 構文 (Fortran)!$omp simd [ 節 [[,] 節 ], ] do ループ
9 例 void sprod(float *a, float *b, int n) { 例 float sum = 0.0f; #pragma omp simd reduction(+:sum) for (int k=0; k<n; k++) sum += a[k] * b[k]; return sum; } ベクトル化
10 データ共有節 private(var-list): var-list で指定された 初期化されないベクトル変数 x: 42???? firstprivate(var-list): var-list で指定された 初期化されたベクトル変数 x: reduction(op:var-list): var-list で指定された変数をプライベートに作成し 構文の最後で op で指定されるリダクション操作を行う x: 42
11 SIMD プラグマ / 宣言子の節 safelen(length) 依存性を損なうことなく同時に実行できる最大反復数 実際には 最大ベクトル長 linear (list[:linear-step]) 変数の値はループ反復数に関連する x i = x orig + i * linear-step aligned (list[:alignment]) list 変数のアライメントを指定する デフォルトのアライメントはアーキテクチャーに依存する collapse (n)
12 SIMD ワークシェア構文 入れ子になったループの並列化とベクトル化を行う スレッドチーム間でループ反復空間を分割する SIMD ベクトル レジスターに収まるようにループチャンクを分割 構文 (C/C++) #pragma omp for simd [ 節 [[,] 節 ], ] for ループ 構文 (Fortran)!$omp do simd [ 節 [[,] 節 ], ] do ループ
13 例 void sprod(float *a, float *b, int n) { 例 float sum = 0.0f; #pragma omp for simd reduction(+:sum) for (int k=0; k<n; k++) sum += a[k] * b[k]; return sum; } 並列化 スレッド 0 スレッド 1 スレッド 2 ベクトル化
14 SIMD 関数のベクトル化 float min(float a, float b) { SIMD return 関数のベクトル化 a < b? a : b; } float distsq(float x, float y) { return (x - y) * (x - y); } void example() { #pragma omp parallel for simd for (i=0; i<n; i++) { d[i] = min(distsq(a[i], b[i]), c[i]); } }
15 SIMD 関数のベクトル化 SIMD 並列ループから呼び出すように 1 つ以上の関数を宣言する 構文 (C/C++): #pragma omp declare simd [ 節 [[,] 節 ], ] [#pragma omp declare simd [ 節 [[,] 節 ], ]] [ ] 関数の定義または宣言 構文 (Fortran):!$omp declare simd (proc-name-list)
16 SIMD 関数のベクトル化 #pragma omp declare simd float min(float a, float b) { return a < b? a : b; } #pragma omp declare simd float distsq(float x, float y) { return (x - y) * (x - y); } vec8 min_v(vec8 a, vec8 b) { return a < b? a : b; } vec8 distsq_v(vec8 x, vec8 y) { return (x - y) * (x - y); } void example() { #pragma omp parallel for simd for (i=0; i<n; i++) { d[i] = min(distsq(a[i], b[i]), c[i]); } } vd = min_v(distsq_v(va, vb, vc))
17 SIMD 関数のベクトル化 simdlen (length) 指定されたベクトル長 (length) をサポートする関数を生成 uniform (argument-list) 引数 (argumrnt-list) は 指定されたループ反復間の定数値 inbranch 関数は常に if 文内部から呼び出される notinbranch 関数は if 文内部から呼び出されない linear (argument-list[:linear-step]) aligned (argument-list[:alignment]) reduction(operator:list) 前と同じ
18 SIMD 構文とパフォーマンス 5.00x 4.50x 4.00x 3.66x 4.34x ICC auto-vec ICC SIMD directive 相対的スピードアップ ( 高値が良い ) 3.50x 3.00x 2.50x 2.00x 1.50x 2.04x 2.13x 1.47x 2.40x 1.00x 0.50x 0.00x Mandelbrot Volume Rendering BlackScholes Fast Walsh Perlin Noise SGpp M. Klemm, A. Duran, X. Tian, H. Saito, D. Caballero, and X. Martorell. 近年のマルチコア SIMD アーキテクチャー向けに OprnMP ベクトル構文を拡張 2012 年 6 月 イタリア ローマで開催されたインテル ワークショップの資料ページ より LNCS 7312
19 デバイス向けの OpenMP 4.0
20 デバイスモデル OpenMP 4.0 によるアクセラレーター / コプロセッサーのサポート デバイスモデル : 1 つのホスト 同種の複数のアクセラレーター / コプロセッサー コプロセッサー ホスト
21 デバイス向けの OpenMP 構文 ホストからデバイスへ制御 [ とデータ ] を転送 構文 (C/C++) #pragma omp target [data] [ 節 [[,] 節 ], ] 構造化ブロック 構文 (Fortran)!$omp target [data] [ 節 [[,] 節 ], ] 構造化ブロック 節 device(scalar-integer-expression) map(alloc to from tofrom:list) if(scalar-expr)
22 実行モデル target 構文は制御フローをターゲットデバイスへ転送 制御の転送はシーケンシャルで同期される 転送節はデータフローの方向を制御 配列表記は 配列の長さを表現するために使用される target data 構文はデバイスのデータ環境にスコープを生成 制御の転送は行われない 転送節はデータフローの方向を制御 デバイスのデータ環境は ターゲットのデータ領域が有効な間適用される target update は ターゲットのデータ領域からデータの転送を要求する際に使用する
23 実行モデル データ環境は字句でスコープされる データ環境は波括弧を閉じた時点で破棄される 割り当てられたバッファー / データは自動的に解放される pa ホスト 2 to( ) デバイス 1 alloc( ) 4 from( ) #pragma omp target map(alloc:...) map(to:...) map(from:...) {...} 3
24 例 #pragma omp target data device(0) map(alloc:tmp[:n]) map(to:input[:n)) map(from:res) { #pragma omp target device(0) #pragma omp parallel for for (i=0; i<n; i++) tmp[i] = some_computation(input[i], i); update_input_array_on_the_host(input); #pragma omp target update device(0) to(input[:n]) #pragma omp target device(0) #pragma omp parallel for reduction(+:res) for (i=0; i<n; i++) res += final_computation(input[i], tmp[i], i) } ホストターゲットホストターゲットホスト
25 teams 構文 複数レベルの並列デバイスをサポート 構文 (C/C++): #pragma omp teams [ 節 [[,] 節 ], ] 構造化ブロック 構文 (Fortran):!$omp teams [ 節 [[,] 節 ], ] 構造化ブロック 節 num_teams(integer-expression) num_threads(integer-expression) default(shared none) private(list), firstprivate(list) shared(list), reduction(operator :list)
26 コプロセッサーへ SAXPY をオフロードする int main(int argc, const char* argv[]) { float *x = (float*) malloc(n * sizeof(float)); SAXPY float *y = (float*) malloc(n * sizeof(float)); // Define scalars n, a, b & initialize x, y #pragma omp target data map(to:x[0:n]) { #pragma omp target map(tofrom:y) #pragma omp 全てが同じことを行う teams num_teams(num_blocks) num_threads(nthreads) for (int i = 0; i < n; i += num_blocks){ for (int j = i; j < i + num_blocks; j++) { y[j] = a*x[j] + y[j]; } } } free(x); free(y); return 0; }
27 コプロセッサーへ SAXPY をオフロードする int main(int argc, const char* argv[]) { float *x = (float*) malloc(n * sizeof(float)); float *y = (float*) malloc(n * sizeof(float)); // Define scalars n, a, b & initialize x, y SAXPY コプロセッサー / アクセラレーター #pragma omp target data map(to:x[0:n]) { #pragma omp target map(tofrom:y) #pragma omp teams num_teams(num_blocks) num_threads(bsize) 全てが同じことを行う #pragma omp distribute for (int i = 0; i < n; i += num_blocks){ ワークシェア (barrier なし ) #pragma omp parallel for for (int j = i; j < i + num_blocks; j++) { y[j] = a*x[j] + y[j]; } } } free(x); free(y); return 0; } ワークシェア (barrier あり )
28 コプロセッサーへ SAXPY をオフロードする int main(int SAXPY 複合構文 argc, const char* argv[]) { float *x = (float*) malloc(n * sizeof(float)); float *y = (float*) malloc(n * sizeof(float)); // Define scalars n, a, b & initialize x, y #pragma omp target map(to:x[0:n]) map(tofrom:y) { #pragma omp teams distribute parallel for num_teams(num_blocks) num_threads(bsize) for (int i = 0; i < n; ++i){ y[i] = a*x[i] + y[i]; } } free(x); free(y); return 0; }
29 OpenMP 4.0 アフィニティー
30 NUMA はここに属する... ( ほとんど ) すべてのマルチソケット計算サーバーは NUMA システムである 異なるメモリー位置へのアクセス レイテンシーは一定ではない 異なるメモリー位置の帯域幅が異なる可能性がある 例 : インテル Xeon E5-2600v2 シリーズ プロセッサー Xeon E5-2600v2 Xeon E5-2600v2
31 スレッド アフィニティー - なぜ重要なのか? GB/ 秒 [ 高値がより良い ] STREAM Triad, インテル Xeon E5-2697v スレッド / コア数 compact, par scatter, par compact, seq scatter, seq
32 スレッド アフィニティー - プロセッサーのバインド バインドの方針は マシンとアプリケーションに依存する スレッドを離して配置 例 異なるパッケージ ( おそらく ) メモリー帯域幅を向上させる ( おそらく ) 統合されたキャッシュサイズを改善 ( おそらく ) 同期構文のパフォーマンスを低下させる スレッドを近づけて配置 例 キャッシュを共有する可能性がある 2 つのコアに隣接 ( おそらく ) 同期構文のパフォーマンスを向上させる ( おそらく ) 利用可能なメモリー帯域幅とキャッシュサイズ ( スレッドごとの ) を低下させる
33 OpenMP* 4.0 におけるスレッド アフィニティー OpenMP 4.0 は 配置のコンセプトを導入... 1 つ以上のプロセッサー上で動作する一連のスレッド ユーザーによって定義される 事前定義された配置 : スレッド コア ソケット ハイパースレッドごとに 1 つの位置物理コアごとに 1 つの位置プロセッサー パッケージごとに 1 つの位置... そしてアフィニティーのポリシーは... spread close master OpenMP スレッドをすべての位置に広く配置 OpenMP スレッドをマスター スレッドの近辺にパック OpenMP スレッドをマスター スレッドを併置... そしてこれらの設定を制御する 環境変数 OMP_PLACES と OMP_PROC_BIND 並列領域向けに proc_bind 節
34 スレッド アフィニティーの例 例 ( インテル Xeon Phi コプロセッサー ): 外部領域を分配し 内部領域を近く保つ OMP_PLACES=cores(8) #pragma omp parallel proc_bind(spread) #pragma omp parallel proc_bind(close) p0 p1 p2 p3 p4 p5 p6 p7 p0 p1 p2 p3 p4 p5 p6 p7 p0 p1 p2 p3 p4 p5 p6 p7
35 まとめ OpenMP 4.0 は OpenMP における大きな飛躍 新しい種類の並列性を導入 コプロセッサー デバイスによる異種システム構成をサポート インテル Composer XE 2013 SP1 におけるサポート SIMD 構文 (combined 構文を除く ) デバイス向けの OpenMP (combined 構文を除く ) OpenMP アフィニティー
36
Microsoft PowerPoint Quality-sama_Seminar.pptx
インテル vpro テクノロジー ~ 革新と継続的な進化 ~ インテル株式会社マーケティング本部 2010 年 11 月 2010年の新プロセッサー: 更なるパフォーマンスを スマート に実現 ユーザーのワークロードに合わせて プロセッサーの周波数を動的に向上 インテル インテル ターボ ブースト テクノロジー* ターボ ブースト テクノロジー* 暗号化処理を高速化 保護する 新しいプロセッサー命令
OpenMP 3.0 C/C++ 構文の概要
OpenMP 3.0 C/C++ 構文の概要 OpenMP API 仕様については www.openmp.org でダウンロードしてください OpenMP 実行宣言子は 後続の構造化ブロックや OpenMP 構文に適用されます 構造化ブロック () とは 単文または先頭に入口が 1 つ 末尾に出口が 1 つの複合文です parallel 構文はスレッドのチームを形成し 並列実行を開始します #pragma
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
(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 共有メモリマルチプロセッサシステムの普及 共有メモリマルチプロセッサシステムのための並列化指示文を共通化する必要性 各社で仕様が異なり 移植性がない そして いまやマルチコア プロセッサが主流となり
PowerPoint Presentation
OpenMP* 4.5 による新しいレベルの並列プログラミング 2016 年 12 月 このセッションの目的 明示的な並列プログラミング手法として注目されてきた OpenMP* による並列プログラミングに加え インテル コンパイラーがサポートする OpenMP* 4.0 と 4.5 の機能を使用したベクトル プログラミングとオフロード プログラミングを紹介します セッションの対象者 OpenMP*
PowerPoint プレゼンテーション
vsmp Foundation スケーラブル SMP システム スケーラブル SMP システム 製品コンセプト 2U サイズの 8 ソケット SMP サーバ コンパクトな筐体に多くのコアとメモリを実装し SMP システムとして利用可能 スイッチなし構成でのシステム構築によりラックスペースを無駄にしない構成 将来的な拡張性を保証 8 ソケット以上への拡張も可能 2 システム構成例 ベースシステム 2U
InfiniDB最小推奨仕様ガイド
最小推奨仕様ガイド Release 4.0 Document Version 4.0-1 www.calpont.com 1 InfiniDB 最小推奨仕様ガイド 2013 年 10 月 Copyright 本書に記載された InfiniDB Calpont InfiniDB ロゴおよびその他のすべての製品またはサービスの名称またはスローガンは Calpont およびそのサプライヤまたはライセンサの商標であり
インテル® VTune™ Amplifier XE を使用したストレージ向けの パフォーマンス最適化
インテル VTune Amplifier XE を使用したストレージ向けのパフォーマンス最適化 2016 年 10 月 12 日 Day2 トラック D-2 (14:55 15:40) すがわらきよふみ isus 編集長 本日の内容 インテル VTune Amplifier XE 2017 概要 ストレージ解析向けのインテル VTune Amplifier XE の新機能 メモリー解析向けのインテル
MAGNIA Storage Server Configuration Guide
MAGNIA シリーズ システム構成ガイド Storage Server 概要編 [2012.12] 価格について 本書に記載の価格はすべて税込です 据付調整費 使用済み商品のお引き取り費は含まれておりません もくじ MAGNIA Storage Server 構成ガイド概要編 ページ 概要 2 特長 3 ネットワーク構成例 5 システム構成セレクション 6 1 MAGNIA Storage Server
目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を
インテル Parallel Studio XE 2018 Composer Edition for Fortran Windows* インストール ガイド Rev. 2. 0 (2017/11/22) エクセルソフト株式会社 www.xlsoft.com 目次 1 はじめに... 3 2 製品に含まれるコンポーネント... 3 3 動作環境... 4 オペレーティング システム... 4 Microsoft
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1 第 1 章製品概要本開発キットは RF007 ラジオコミュニケーションテスタ ( 本器 ) を使用したソフトウェアを開発するためのライブラリソフトウェアです
演習1: 演習準備
演習 1: 演習準備 2013 年 8 月 6 日神戸大学大学院システム情報学研究科森下浩二 1 演習 1 の内容 神戸大 X10(π-omputer) について システム概要 ログイン方法 コンパイルとジョブ実行方法 OpenMP の演習 ( 入門編 ) 1. parallel 構文 実行時ライブラリ関数 2. ループ構文 3. shared 節 private 節 4. reduction 節
インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド
インテル Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版インストール ガイド エクセルソフト株式会社 Version 2.1.0-20190405 目次 1. はじめに.................................................................................
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)
Introducing Intel® Parallel Studio XE 2015
インテル Parallel Studio XE 205 の概要 James Reinders インテルコーポレーションのソフトウェア エバンジェリスト兼ディレクター [email protected] 高速なコードを迅速に開発インテル Parallel Studio XE 205 高速なコード 明示的なベクトル プログラミングでより多くのコードをスピードアップ インテル Xeon
コードのチューニング
OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private
内容 インテル 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. ループ処理の詳細を取得する...
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()
QNAP vsphere Client 用プラグイン : ユーザーガイド 2012 年 12 月更新 QNAP Systems, Inc. All Rights Reserved. 1
QNAP vsphere Client 用プラグイン : ユーザーガイド 2012 年 12 月更新 2012. QNAP Systems, Inc. All Rights Reserved. 1 注意 : 提示する情報は 通知なく変更することがあります 商標 QNAP および QNAP ロゴは QNAP Systems, Inc. の商標です 引用されるすべてのブランド名および製品名は各所有者の商標です
ストリーミング SIMD 拡張命令2 (SSE2) を使用した SAXPY/DAXPY
SIMD 2(SSE2) SAXPY/DAXPY 2.0 2000 7 : 248600J-001 01/12/06 1 305-8603 115 Fax: 0120-47-8832 * Copyright Intel Corporation 1999, 2000 01/12/06 2 1...5 2 SAXPY DAXPY...5 2.1 SAXPY DAXPY...6 2.1.1 SIMD C++...6
(速報) Xeon E 系モデル 新プロセッサ性能について
( 速報 ) Xeon E5-2600 系モデル新プロセッサ性能について 2012 年 3 月 16 日 富士通株式会社 2012 年 3 月 7 日 インテル社より最新 CPU インテル Xeon E5 ファミリー の発表がありました この最新 CPU について PC クラスタシステムの観点から性能検証を行いましたので 概要を速報いたします プロセッサインテル Xeon プロセッサ E5-2690
hotspot の特定と最適化
1 1? 1 1 2 1. hotspot : hotspot hotspot Parallel Amplifier 1? 2. hotspot : (1 ) Parallel Composer 1 Microsoft* Ticker Tape Smoke 1.0 PiSolver 66 / 64 / 2.76 ** 84 / 27% ** 75 / 17% ** 1.46 89% Microsoft*
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
Oracle Cloud Adapter for Oracle RightNow Cloud Service
Oracle Cloud Adapter for Oracle RightNow Cloud Service Oracle Cloud Adapter for Oracle RightNow Cloud Service を使用すると RightNow Cloud Service をシームレスに接続および統合できるため Service Cloud プラットフォームを拡張して信頼性のある優れたカスタマ
for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *
コールスタックを利用したルーフライン Alexandra S. (Intel) 2017 年 12 月 1 日公開 この記事は 2017 年 12 月 18 日時点の インテル デベロッパー ゾーンに公開されている Roofline with Callstacks の日本語訳です 注 : この記事の一部のスクリーンショットにはオレンジ色の点が表示されています デフォルト設定では これらの点は赤または黄色になります
インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド
インテル Parallel Studio XE 2019 Composer Edition for Fortran Windows インストール ガイド エクセルソフト株式会社 Version 1.0.0-20180918 目次 1. はじめに....................................................................................
Intel Software Presentation Template
最新のヘテロジニアス システムにおけるビデオ解析環境 久保寺陽子 Internet of things Internet of things (IOT) は生活へ浸透 接続しているデバイスの数は急増 良く利用されるデバイスセンサーはカメラ データは爆発的に増加しているが 少ししか利用されていない 一般には 従来通りのそれぞれのやり方で使用 人間がすべてを網羅するのは無理 より賢い自動システムを構築する必要がある
Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ
Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle
インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev (2017/06/08) エクセルソフト株式会社
インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev. 2. 1 (2017/06/08) エクセルソフト株式会社 www.xlsoft.com 目次 1 はじめに... 3 2 製品に含まれるコンポーネント... 3 3 動作環境... 4 オペレーティング システム... 4 Microsoft
2.1 インテル マイクロアーキテクチャー Haswell インテル マイクロアーキテクチャー Haswell は インテル マイクロアーキテクチャー Sandy Bridge とインテル マイクロアーキテクチャー Ivy Bridge の成功を受けて開発された この新しいマイクロアーキテクチャーの
2 章インテル 64 プロセッサー アーキテクチャーと IA-32 プロセッサー アーキテクチャー 本章では 最新世代のインテル 64 プロセッサーと IA-32 プロセッサー ( インテル マイクロアーキテクチャー Haswell インテル マイクロアーキテクチャー Ivy Bridge インテル マイクロアーキテクチャー Sandy Bridge ベースのプロセッサーと インテル Core マイクロアーキテクチャー
Microsoft PowerPoint - 演習1:並列化と評価.pptx
講義 2& 演習 1 プログラム並列化と性能評価 神戸大学大学院システム情報学研究科横川三津夫 [email protected] 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 1 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 2 2 次元温度分布の計算
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];
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
Veeam_Corporate_Template_16x9
Veeam Backup & Replication ライセンスガイド 2017 年 4 月 REV0.1 商品名 商標等の引用に関する表示 2017 Veeam Software. All rights reserved. 本ドキュメント中に記載された会社名 製品名などは 各社の登録商標または商標です 本ドキュメントのいかなる部分も Veeam Software( 以下 Veeam とする ) の書面による許可なしに
Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx
Dolphin Express による 10Gbps ソケット通信 Dolphin Express は 標準的な低価格のサーバを用いて 強力なクラスタリングシステムが構築できる ハードウェアとソフトウェアによる通信用アーキテクチャです 本資料では Dolphin Express 製品の概要と 実際にどの程度の性能が出るのか市販 PC での実験結果をご紹介します Dolphin Express 製品体系
インテル(R) Visual Fortran コンパイラ 10.0
インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行
Intel_ParallelStudioXE2013_ClusterStudioXE2013_Introduction.pptx
Parallel Studio XE 2013 Cluster Studio XE 2013 ) ( Intel s Terms and Conditions of Sale Sandy Bridge SYSmark MobileMark http://www.intel.com/performance/ Intel Intel Intel Atom Intel Core Intel Xeon Phi
インテル® ソフトウェア・カンファレンス福岡 インテル® コンパイラーを使用する際に直面するよくある問題と課題
コードの現代化 ( 最適化 ) 1-2-3 インテル コンパイラーを使用する際に直面するよくある問題と課題 2017 年 7 月 isus 編集長 すがわらきよふみ このセッションの内容 ベクトル化と命令セット ベクトル化を支援するコンパイラーの機能 インテル Advisor を使用した最適化のステップ 複数ソケットシステム (NUMA) 環境での留意点 このセッションで使用する機材 : インテル
Microsoft* Windows* 10 における新しい命令セットの利用
Microsoft* Windows* 10 における新しい命令セットの利用 この記事は インテル デベロッパー ゾーンに公開されている Follow-Up: How does Microsoft Windows 10 Use New Instruction Sets? の日本語参考訳です 以前のブログ ソフトウェアは実際に新しい命令セットを使用しているのか? ( 英語 ) では いくつかの異なる
S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0
S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません
Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc
2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア
2. OpenMP OpenMP OpenMP OpenMP #pragma#pragma omp #pragma omp parallel #pragma omp single #pragma omp master #pragma omp for #pragma omp critica
C OpenMP 1. OpenMP OpenMP Architecture Review BoardARB OpenMP OpenMP OpenMP OpenMP OpenMP Version 2.0 Version 2.0 OpenMP Fortran C/C++ C C++ 1997 10 OpenMP Fortran API 1.0 1998 10 OpenMP C/C++ API 1.0
インテル(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
議題 プロセッサーの動向とコード モダナイゼーション インテル アドバンスト ベクトル エクステンション 512 ( インテル AVX-512) 命令と演算性能 ベクトル化を支援するインテル Advisor ループの性能を可視化するルーフライン表示 姫野ベンチマークを用いたインテル Xeon Phi
最新のインテル Parallel Studio XE を用いた迅速なベクトル化と並列化手法 インテル株式会社 技術本部ソフトウェア技術統括部 シニア スタッフ エンジニア 池井 満 議題 プロセッサーの動向とコード モダナイゼーション インテル アドバンスト ベクトル エクステンション 512 ( インテル AVX-512) 命令と演算性能 ベクトル化を支援するインテル Advisor ループの性能を可視化するルーフライン表示
Insert your Title here
マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?
CELSIUSカタログ(2012年7月版)
CELSIUS PC "MADE IN JAPAN" 2012.7 W520 ハイエンドの過酷な要求に応えるパワフルなデュアルと高信頼を搭載 RAID構成 選択可能 富士通がお勧めする Windows 7. ミニタワーエントリーモデル より速く より強力に 最新の技術をフル投入 スピードとパワー 安定性を提供 RAID構成 選択可能 Windows 7 Professional 32bit版 正規版
AquesTalk Win Manual
AquesTalk Win マニュアル 株式会社アクエスト http://www.a-quest.com/ 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2
Microsoft Word - Improved_Protected-Mode_API_Support
改良された保護モード API サポート : Windows Internet Explorer 8 Beta 1 for Developers Web 作業の操作性を向上 2008 年 3 月 詳細の問い合わせ先 ( 報道関係者専用 ): Rapid Response Team Waggener Edstrom Worldwide (503) 443 7070 [email protected]
Pervasive PSQL v11 のベンチマーク パフォーマンスの結果
Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7
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プログラムが作成できる それなりの性能が得られる
