Code Modernization Online training plan

Similar documents
インテル® MPI ライブラリー for Windows* ユーザーズガイド

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

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

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

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

インテル® Parallel Studio XE 2013 Windows* 版インストール・ガイドおよびリリースノート

インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev (2017/06/08) エクセルソフト株式会社

インテル® Fortran Studio XE 2011 SP1 Windows* 版インストール・ガイドおよびリリースノート

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

目次 1 はじめに 製品コンポーネント 動作環境 インストールを行う前に 製品版と評価版 製品のインストール手順 製品の登録 製品のダウンロード ライセンスファイルの取得

インテル® Parallel Studio XE 2013 Linux* 版インストール・ガイドおよびリリースノート

製品価格 ( 新規購入 ) INT6531 インテル VTune Amplifier XE 2017 for Windows Floating 1-275, ,000 INT6532 インテル VTune Amplifier XE 2017 for Linux Floating 1-27

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

Microsoft Word - IVF15.0.1J_Install.doc

インテル® MPI ライブラリー Windows* 版

インテル® Parallel Studio XE 2017 Composer Edition for Fortran Windows - インストール・ガイド -

インテル® Parallel Studio XE 2015 Composer Edition for Linux* インストール・ガイドおよびリリースノート

Microsoft Word - appli_SMASH_tutorial_2.docx

スレッド化されていないアプリケーションでも大幅なパフォーマンス向上を容易に実現

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

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

インテル® Parallel Studio XE 2017 for Linux* インストール・ガイド

Click to edit title

製品型番 商用版特定ユーザーライセンス INT7001 インテル System Studio 2018 FreeBSD \163,080 INT6673 インテル Media Server Studio 2017 Essentials \84,000 \90,720 Edit INT6674 インテ

Parallel Studio XE Parallel Studio XE hotspot ( )

インテルソウトウェア開発製品アカデミック版特定ユーザーライセンス標準価格表 株式会社アークブレイン 2016 年 5 月 10 日 ~ 製品型番 アカデミック版特定ユーザーライセンス 税別標準価格 税込標準価格 INT5744 インテル Parallel Studio XE 2016 Cluster

インテル® Parallel Studio XE 2016 Update 1 for Linux* インストール・ガイド

Microsoft Word - HOKUSAI_system_overview_ja.docx

hotspot の特定と最適化

appli_HPhi_install

Microsoft Word - Getting_Started.doc

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

BricRobo V1.5 インストールマニュアル

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

IntelR Compilers Professional Editions

(Microsoft Word - Compiere3.0Windows\203C\203\223\203X\203g\201[\203\213\203K\203C\203h.doc)

Microsoft Word - appli_OpenMX_install.docx

チュートリアル: インテル® MPI ライブラリー向け MPI Tuner (Windows*)

Presentation title

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

KSforWindowsServerのご紹介

インテル® MPI ライブラリー for Linux* ユーザーズガイド

Maple 18 ネットワーク版インストール手順

Microsoft Word JA_revH.doc

Hphi実行環境導入マニュアル_v1.1.1

インテル® Xeon Phi™ プロセッサー上で MPI for Python* (mpi4py) を使用する

Intel_ParallelStudioXE2013_ClusterStudioXE2013_Introduction.pptx

インテル® MPI ライブラリー for Linux* リファレンス・マニュアル

Intel Integrated Performance Premitives 4.1 Linux

Class Overview

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows インストールガイド 2013(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

第 2 版

ADempiere (3.5)

Oracle Database Clientクイック・インストレーション・ガイド, 10gリリース1( ) for Microsoft Windows

クラスタ環境でのデータベースのアップグレード手順

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

注意 インストール中に ユーザアカウント制御 ( 以下 UAC といいます ) の実行確認画面が表示されることがあります 表示された場合ははいをクリックして インストールを進めてください なお 管理者以外の場合 管理者への昇格を求める UAC 画面が表示される場合がありますので 管理者アカウントのパ

IMSL Fortran Numerical Library Ver for Windows IMSL Fortran ライブラリ Ver インストールガイド (Windows 版 ) ローグウェーブソフトウェアジャパン株式会社カスタマーサポートセンター TEL: 03-

Windows XP から Windows 7 へのアップグレード

PDFConverter

インストールマニュアル

Intel MPI Library Linux

ユーザーズマニュアル

Veritas System Recovery 16 Management Solution Readme

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

Maple 18 スタンドアロン版インストール手順

アカ版特定ユーザーライセンス INT7006 INT7007 INT7008 INT6685 インテル System Studio 2018 Ultimate on \217,080 r インテル System Studio 2018 Ultimate on \217,080 r インテル Syst

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

Microsoft PowerPoint - Intel Parallel Studio XE 2019 for Live

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

1

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

Thesis Template

1 つのツールを実行するだけで違いが出るのでしょうか? はい 多くの場合 複雑なバグを発見して アプリケーションの安定性を向上させることができます このガイドでは インテル Inspector XE 解析ツールを使用して コードの問題を排除する方法を説明します これにより コードの信頼性が向上し 開

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

Microsoft Word - WE-InstMan382J sol.doc

手順書

1

Microsoft Windows XPをお使いのお客様へ

第 1 版

SLAMD導入手順

インストールガイド(Windows)

1. はじめに Systemwalker Desktop Patrol V 以降でセキュリティ監査として BIOS パスワード設定の監査 を提供しています しかし Systemwalker Desktop Patrol メインメニュー のセキュリティ情報に表示される起動パスワード 設定パ

CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

2012 年 9 月初版 発行 : レノボ エンタープライズ ソリューションズ株式会社 担当 : テクニカル セールス Microsoft WindowsおよびWindowsロゴは Microsoft Corporationの米国およびその他の国における商標です Intel Xeonは Intel

============================================================

KTest

セットアップカード

目 目 用方 用 用 方

1. Microsoft Loopback Adapter のインストール 1) ノートパソコンにおいて そのパソコンの管理者アカウントによりログオンします 2) [ スタート ] > コントロールパネルを開きます 3) 表示方法 : カテゴリの場合には ハードウェアとサウンド > デバイスマネージ

HPE ProLiant Thin Micro TM200 サーバー Microsoft Windows Server インストール手順

CLUSTERPRO MC StorageSaver for BootDisk 1.2 (for Windows) インストールガイド 2014(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

Oracle Secure Enterprise Search 10gクイック・スタート・ガイド

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

セットアップカード

並列計算導入.pptx

音声認識サーバのインストールと設定

Microsoft Word - クライアントのインストールと接続設定

Transcription:

Windows* 環境での MPI プログラムの作成と実行 2016 年 4 月

内容 必要要件と各ツール インストール コンパイルと実行

必要なツールと環境 プロセッサーと Windows* OS コンパイラーとリンカー MPI ライブラリー クラスター診断 / 最適化ツール

プロセッサーと Windows* OS インテル 64 アーキテクチャー ベースのシステム 1 コアあたり 1GB のメモリーと 1GB 以上の空きディスク容量 Windows Server 2012 R2 + HPC Pack 2012 R2 ドメイン認証やジョブ コントロールの機能を使用する際に必要 Windows 7/8/8.1/10 パスワード認証でクライアント システムに接続 参考資料 : HPC Pack 2012 R2 で最新のクラスタ!InfiniBand も使えます - その 1: ヘッドノード構築編

コンパイラーとリンカー Visual Studio* 2010/2012/2013/2015 最適化コンパイラーとライブラリー インテル C/C++ および Fortran コンパイラー V14.0 以降 その他の最適化コンパイラー

OpenMPI* ライブラリー Windows* 環境でメッセージ パッシング インターフェイスを提供するライブラリー インテル MPI ライブラリー Microsoft* MPI (HPC Pack 2012) その他オープンソースの MPI ライブラリー

クラスター診断 / 最適化ツール クラスターを正しく構成する そして MPI アプリケーションを効率よくクラスター上で動作させるにはツールの活用が便利 インテル MPI ライブラリー /mpitune ユーティリティー / インテル Trace Collector & Analyzer Microsoft HPC Pack その他サードパーティー製ツール (Allinea* Forge など )

インテル Parallel Studio XE Cluster Edition フェーズ製品名機能利点 インテル Advisor XE スレッド設計支援 (Studio 製品のみ ) 並列アプリケーションの設計を簡単かつ明確にし 迅速化 ビルド インテル Parallel Studio の各エディション C/C++ および Fortran コンパイラー インテル TBB インテル Cilk Plus インテル IPP インテル MKL マルチコアと将来のメニーコアのパフォーマンスおよびスケーラビリティーを引き出すアプリケーションを開発するためのソリューション インテル MPI ライブラリー ハイパフォーマンスな MPI ライブラリー ハイパフォーマンス スケーラビリティー インターコネクトの独立性 実行時のファブリック選択 アプリケーション チューニングを実現 インテル VTune Amplifier XE アプリケーションのパフォーマンスとスケーラビリティーを最適化するパフォーマンス プロファイラー 従来の推測作業を排除し 短時間で容易にパフォーマンスとスケーラビリティーのボトルネックを特定 検証 & チューニング インテル Inspector XE コードの品質を高める動的なメモリー / スレッド化解析とスタティック解析 生産性とコードの品質を高め コストを削減し 早期にメモリー / スレッド / セキュリティーの問題を発見 インテル Trace Analyzer & Collector アプリケーションの正当性と動作を理解するための MPI パフォーマンス プロファイラー MPI プログラムのパフォーマンスを解析し 並列アプリケーションの動作と通信パターンを可視化して hotspot を特定 効率良く 素早く そして信頼性の高いアプリケーションを開発

インテル MPI ライブラリーのインストール [U3] パッケージ (SDK と RTO) を入手します SDK ( 開発システムにインストール ) RTO ( 各実行ノードにインストール ) RTO は以下で要求ください : https://registrationcenter.intel.com/regcenter/comform.aspx?productid=1395 パッケージをダブルクリックして インストールを開始します 以前のバージョンがインストールされている場合 アンインストールする必要はありません インストールには管理者権限が必要です デフォルトのインストール先 : C: Program Files (x86) IntelSWTools mpi [5.1.3.180]

コンパイルとリンク ( コマンドライン ) [R2.1][U4.1] コマンド プロンプトを起動します

コンパイルとリンク ( コマンドライン ) インテル コンパイラーのコマンド プロンプトでは これは自動的に反映されます mpivars.bat を実行します SET I_MPI_ROOT= C: Program Files (x86) IntelSWTools mpi 5.1.3.180 SET PATH=%I_MPI_ROOT% intel64 bin;%path% SET LIB=%I_MPI_ROOT% intel64 lib;%lib% SET INCLUDE=%I_MPI_ROOT% intel64 include;%include% これで MPI スクリプトが利用できるようになります (mpicc mpicl mpiicc mpiifort など )

コンパイルとリンク ( コマンドライン )

コンパイルとリンク ( コマンドライン ) 環境変数または -cc オプションでコンパイラーを選択できます 例 : -cc=cl.exe

コンパイルとリンクの例 [R2.1.1] C: mpiicc pi.c C: mpiicc pi.c /Qopenmp /QxHOST C: mpiicc pi.c /Qopenmp /QxHOST /Zi -trace C: mpicc pi.c C: mpicc pi.c openmp /arch:avx C: mpicc pi.c openmp /arch:avx /Zi -trace C: mpicc pi.c /Qopenmp /QxHOST /Zi // エラー!!

コンパイルとリンク (Visual Studio*) 1. Visual Studio* で WinXX コンソール プロジェクトを作成します 2. x64 ソリューション プラットフォームを選択します 3. インクルード パスに <installdir> intel64 include を追加します 4. ライブラリー パスに <installdir> intel64 lib <configuration> を追加します <configuration> に次を設定します : Debug: シングルスレッド版のデバッグ向けライブラリー Release: シングルスレッド版の最適化されたライブラリー Debug_mt: マルチスレッド版のデバッグ向けライブラリー Release_mt: マルチスレッド版の最適化されたライブラリー 5. ターゲットリンク コマンドに適切なインテル MPI ライブラリーを追加します : C アプリケーションには impi.lib を追加します C++ アプリケーションには impi.lib と impicxx.lib (Release) または impid.lib と impicxxd.lib (Debug) を追加します

MPI プログラムを実行する前に MPI プログラムを実行する前に以下を確認します ; 1. 各ノードにインテル MPI ライブラリーのランタイム パッケージ (RTO) がインストールされている 2. 各ノードでプロセス管理 (Hydra) サービスが起動されている 3. ノードの認証方法が設定されている パスワードベースの認証でログイン アクティブ ディレクトリー認証でログイン 4. MPI プログラムやデータを格納する共有ドライブが設定されている

Hydra プロセス管理 [R2.4] [U7.1] Hydra プロセス管理は インテル MPI ライブラリーの SDK や RTO をインストールすると 自動的に Windows* システムにインストールされサービスが起動されます 制御方法 : Windows* タスクマネージャーの サービス で以下を [ 開始 ] [ 停止 ] [ 再起動 ] できます コマンドプロンプトから hydra_service.exe を起動 オプションには以下を指定できます オプション オプション -install -register Hydra サービスをインストール -start Hydra サービスを開始 -uninstall -remove -unregister -status < ホスト名 > Hydra サービスをアンインストール -stop Hydra サービスを停止 < ホスト名 > のノードのサービスの状態を取得 -restart < ホスト名 > < ホスト名の > サービスを再起動 -register_spn ノードを Windows ドメインに登録 -remove_spn ノードを Windows ドメインから削除

認証方法の設定 [R3] [U10.3] インテル MPI ライブラリーは Windows* クラスター全体でユーザー認証を行う 2 つの方法をサポートしています : パスワードベースの認証 mpiexec register または wmpiregister コマンドでレジストリーへログイン情報を暗号化して登録 ドメインベースの認証これはクラスター管理者によって定義されるドメインポリシーに基づいて管理されます マシン上にユーザー情報 ( ユーザー名とパスワード ) を保存する必要はありません I_MPI_AUTH_METHOD 環境変数に認証方法を設定 : password Delegate impersonate パスワードベースの認証を使用します これは デフォルト値です委任機能を持つドメインベースの認証を使用します制限付きドメインベースの認証を使用します

ジョブ開始コマンド [R2.2] [U5] インテル MPI ライブラリーとリンクしたアプリケーションを実行するには mpiexec コマンドを使用します : 1. mpiexec.hydra <g-オプション > <l-オプション > < 実行ファイル > 2. mpiexec.hydra <g-オプション > <l-オプション > < 実行ファイル > : <l-オプション > < 実行ファイル > 3. mpiexec.hydra -configfile < ファイル > オプション : <g-オプション > すべての MPI プロセスに適用するグローバル オプション <l-オプション > 単一の引数セットに適用するローカルオプション < 実行ファイル > a.exe または path a.exe などのファイル名 < ファイル > コマンドライン オプションを含むファイル

サンプルコード MPI_Init(&argc, &argv) ; MPI_Comm_rank(MPI_COMM_WORLD, &my_id) ; MPI_Comm_size(MPI_COMM_WORLD, &numprocs) ; MPI_Get_processor_name(name, &namelen); my_steps = num_steps/numprocs ; printf("rank %d Threads %d Running on %s n", my_id, 1, name); for (i=my_id*my_steps; i<(my_id+1)*my_steps ; i++){ double x = (i+0.5)*step; sum += 4.0/(1.0+x*x); } sum *= step ; MPI_Reduce(&sum, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD) ; MPI_Finalize(); end = clock(); if(my_id == 0) printf("pi = %f Time = %f n", pi, (double)(end - start)/clocks_per_sec);

ジョブ開始コマンドの例 [R2.2] [U5.1] 1. pi_mpi.exe 2. mpiexec.exe -n < プロセス数 > pi_mpi.exe 3. mpiexec.exe -hosts 2 host1 4 host2 8 pi_mpi.exe 4. mpiexec.exe -f hostfile n < プロセス数 > pi_mpi.exe 5. mpiexec.exe -machine machinefile pi_mpi.exe 6. mpiexec.exe -genv I_MPI_FABRICS shm -n < プロセス数 > pi_mpi.exe 7. mpiexec.exe -configfile config_file

ジョブ開始コマンドの例 ( 続き ) [R2.2] [U5.1] 8. mpiexec f hfile map w: xxx.xxx.xxx.xxx share w: mpi pi_mpi.exe 9. mpiexec machine mfile1 map w: xxx.xxx.xxx.xxx share w: mpi pi_mpi.exe 10.mpiexec machine mfile2 map w: xxx.xxx.xxx.xxx share -genv OMP_NUM_THREADS=4 w: mpi pi_mpiomp.exe ホストファイル : xxx.xxx.xxx.xx1 xxx.xxx.xxx.xx2 マシンファイル 1: xxx.xxx.xxx.xx1:4 xxx.xxx.xxx.xx2:2 マシンファイル 2: xxx.xxx.xxx.xx1:1 xxx.xxx.xxx.xx2:1

WMPIEXEC コマンドでジョブを開始

環境変数 インテル MPI ライブラリーには次の環境変数が用意されています : コンパイルとリンクを制御する環境変数 [U2.1.4] ジョブの開始を制御する環境変数 [U2.2.3] ジョブ管理システムを制御する環境変数 [U2.4.6] ユーザー認証を制御する環境変数 [U3.3] チューニングを制御する環境変数 [U4]

Windows* と Linux* が混在したクラスター構成 インテル MPI ライブラリー (Windows* 版と Linux* 版 ) では 同じ Hydra プロセス管理を利用するため OS が混在したクラスターでもジョブを実行することができます -hostos <windows linux> 特定のホストにインストールされているオペレーティング システムを指定します MPI プロセスは このオプションの指示に従って各ホスト上で起動されます デフォルトは windows です このオプションは -host オプションと組み合わせて使用されます 例えば 次のコマンドラインは host1 で a.exe を実行し host2 で a.out を実行します : > mpiexec -n 1 -host host1 -hostos windows a.exe : -n 1 -host host2 -hostos linux./a.out

ジョブ スケジューラーのサポート インテル MPI ライブラリーは HPC 市場で一般的に利用されているジョブ スケジューラーの大部分をサポートしています Windows* では 次のジョブ スケジューラーがサポートされます : Microsoft* HPC Pack* > job submit /numprocessors:4 /stdout:test.out mpiexec -delegate test.exe Altair* PBS Pro* > qsub -C "REM PBS" job REM PBS -l nodes=4:ppn=2 REM PBS -l walltime=1:00:00 cd %PBS_O_WORKDIR% mpiexec test.exe

インテル Xeon Phi コプロセッサーの利用 クラスター環境でインテル Xeon Phi コプロセッサーを利用するには 幾つかの選択肢があります : 1. Windows* / Linux* ホストに搭載された コプロセッサーへホストからオフロードを行う MPI* アプリケーションを利用 2. Linux* ホストに搭載されたホストから MPI* ライブラリーを介してコプロセッサーのネイティブ MPI* アプリケーションを利用 3. Windows* ホストに搭載されたホストから MPI* ライブラリーを介してコプロセッサーのネイティブ MPI* アプリケーションを利用 ( コプロセッサー上のネイティブ MPI* を開発するため Linux* 版の MPI* ライブラリーが必要 )

一般的なクラスターに関する考察 MPI を利用する上で考慮すべき一般的なクラスターに関す情報を説明します : 使用するノードの定義 ヘテロジニアス システムとジョブ ユーザー認証 デバッグとテスト

参考資料 インテル MPI ライブラリー関連日本語マニュアル : ゲッティング スタート ガイド (Windows Linux) インテル MPI ライブラリー ユーザーズ ガイド (Windows Linux) インテル MPI ライブラリー リファレンス マニュアル (Windows Linux) MPI tuner チュートリアル (Windows Linux) インテル Trace Analyzer & Collector チュートリアル : MPI アプリケーションを解析する (OS 共通 )

参照 isus のインテル MPI ライブラリー製品サイト : http://www.isus.jp/intel-mpi-library/ isus のインテル Parallel Studio XE 製品サイト : http://www.isus.jp/intel-parallel-studio-xe/ 日本語マニュアルのダウンロード : http://www.xlsoft.com/jp/products/intel/cluster/mpi/index.html

参考資料 ゲッティング スタート ガイド日本語版 (Windows Linux) インテル MPI ライブラリー ユーザーズ ガイド日本語版 (Windows Linux) インテル MPI ライブラリー リファレンス マニュアル日本語版 (Windows Linux) MPI tuner チュートリアル日本語版 (Windows Linux) インテル Trace Analyzer and Collector チュートリアル : MPI アプリケーションを解析する日本語版 (OS 共通 )

MPI と OpenMP* のハイブリッド化 printf("rank %d Threads %d Running on %s n", my_id, omp_get_max_threads(), name); #pragma omp parallel for reduction(+:sum) for (i=my_id*my_steps; i<(my_id+1)*my_steps ; i++) { double x = (i+0.5)*step; sum += 4.0/(1.0+x*x); } 各ノードに分散された for ループを OpenMP のワークシェア機能を使用してスレッドで並列実行