1. TSUBAME2.0 通常実行まで 1.1. 環境設定 (MPI ライブラリ & コンパイラ ) 最新の Open MPI と Intel コンパイラを使用するため,${HOME}/.bashrc 等で環境変数 ( パス等 ) を設定します. ~ 設定例 ~ export SELECT_MPI

Similar documents
1. TSUBAME2.5 通常実行まで 1.1. 環境設定 (MPI ライブラリ & コンパイラ ) まずは para-tcci で使用する環境変数を.bashrc に定義します. 後述の Scalasca で OpenMPI を使用するため, ここでも最新の OpenMPI と Intel コン

1. TSUBAME2.0 通 常 実 行 まで 1.1. 環 境 設 定 (MPI ライブラリ&コンパイラ) 最 新 の Open MPI と Intel コンパイラを 使 用 するため,${HOME}/.bashrc 等 で 環 境 変 数 (パス 等 )を 設 定 します. ~ 設 定 例 ~

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ

Microsoft Word - appli_OpenMX_install.docx

並列計算導入.pptx

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

PowerPoint プレゼンテーション

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

Gromacsユーザーマニュアル

HULFT8 for Windows/UNIX/Linux/zLinux の機能で発生する不具合について

演習1: 演習準備

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

LS-DYNA 利用の手引 第 1 版 東京工業大学学術国際情報センター 2017 年 9 月 25 日

TSUBAME利用講習会

東北大学金属材料研究所 並列計算 インフォマティクスサーバ マニュアル 2019 年 10 月 3 日 東北大学金属材料研究所計算材料学センター

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

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

BOM for Windows Ver

インストーラー 管理番号 内容 対象バージョン 230 HULFT がすでにインストールされているパスに対してサイレントインストールを実行すると インストールされていた HULFT の動作環境が不正な状態になる 7.3.0~7.3.1 ユーティリティ 管理番号 内容 対象バージョン 231 管理情報

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

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

Microsoft Word - ユーザ向け利用の手引き_v0.3.doc

PIXUS MP510 PIXUS MP600 (2011 年 10 月現在 ) オールインワンで印刷機能をご利用いただくには プリンタドライバのインストールおよび設定が必要です Turbolinux Client 2008 プリンタスキャナドライバダウンロードサイトを参照ください

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

X-MON 3.1.0

演習準備

Veritas System Recovery 16 Management Solution Readme

エプソン社製スキャナドライバImage Scan! for Linux インストール手順

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

GridEngineユーザーマニュアル

GHS混合物分類判定システムインストールマニュアル

コードのチューニング

Slide 1

zabbix エージェント インストールマニュアル [Windows Server] 第 1.2 版 2018 年 05 月 18 日 青い森クラウドベース株式会社

目次 1. はじめに Ver.4.4 における主な更新内容 Ver.4.3 における主な更新内容 動作環境 必要なソフトウェア 動作確認環境 アーカイブファイルの解凍 展開 インス

国土数値情報 XML シェープ変換ツール 操作説明書 平成 23 年 7 月 国土交通省国土政策局

TRQerS - Introduction

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

Maser - User Operation Manual

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

MultiLABELISTOCX と MultiLABELISTV4 MLOCX は MLV4 のレイアウト発行機能を継承しています したがって MLV4 の振分発行やプ リセット発行を使用するための登録情報は使用できません MLV4 のレイアウト管理でレイアウトを作成すると 拡張子が m lay

1. はじめに (1) 本書の位置づけ 本書ではベジフルネット Ver4 の導入に関連した次の事項について記載する ベジフルネット Ver4 で改善された機能について 新機能の操作に関する概要説明 ベジフルネット Ver4 プログラムのインストールについて Ver4 のインストール手順についての説明

Total Disc Makerサイレントインストールガイド

RNEB GUARDIANWALL V リリースノート GUARDIANWALL V では 次の機能追加および既知の問題に対する修正をおこないました 1. 機能追加 GUARDIANWALL V へのバージョンアップにおいて 以下の機能を追加しました

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

Helix Swarm2018.1アップグレード手順

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E >

24th Embarcadero Developer Camp

IceWall Remote Configuration Managerのご紹介

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

工程’S 9 ヘルプ Excelバーチャート

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

利用ガイド

Fortran 勉強会 第 5 回 辻野智紀

まう不具合を解消 Windows10 バージョン1803で ディスプレイのサイズを125% 150% にすると STORM VのTOP 画面がズレてしまう不具合を解消しました 6. 動画 + 音声 コンテンツをインポートすると再編集出来なくなる不具合を解消 スライド+ 動画 + 音声 コンテンツをイ

HP Remote Graphics Software Receiver and Sender Installation Guide

PowerPoint プレゼンテーション

Reedbush 利用の手引き 2 ノートパソコンの設定 : 公開鍵の生成 登録 ネットワーク環境に接続してから行ってください

テクニカルドキュメントのテンプレート

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

SetupVerup_dl_M

Flex Signal for AirGRID

新スーパーコンピュータ 「ITOシステム」利用講習会


TopSE並行システム はじめに

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

Microsoft Word - XOOPS インストールマニュアルv12.doc

在宅せりシステム導入マニュアル

Transcription:

プロファイルツール実行例アプリ ntchem-rimp2 2013 年 9 月 3 日日本電気株式会社 0. はじめに 本ドキュメントでは, アプリ ntchem-rimp2 におけるプロファイルツール連携の作業履歴を記 載します. 目次 1. TSUBAME2.0 通常実行まで... 2 1.1. 環境設定 (MPI ライブラリ & コンパイラ )... 2 1.2. コンパイルとソース修正... 2 1.2.1. config_mine の修正... 2 1.2.2. config/makeconfig の修正... 3 1.3. バッチジョブ実行... 4 1.4. 実行結果の確認... 5 2. TSUBAME2.0 Scalasca 連携実行... 6 2.1. Scalasca 環境設定... 6 2.2. Scalasca 連携 コンパイル... 7 2.2.1. コンパイラの設定... 7 2.3. Scalasca 連携 プログラム実行... 8 2.4. Scalasca 連携 実行結果の表示 ( 可視化 )... 9 2.5. その他 ( 未完了項目 )... 10-1 -

1. TSUBAME2.0 通常実行まで 1.1. 環境設定 (MPI ライブラリ & コンパイラ ) 最新の Open MPI と Intel コンパイラを使用するため,${HOME}/.bashrc 等で環境変数 ( パス等 ) を設定します. ~ 設定例 ~ export SELECT_MPI=/usr/apps/openmpi/1.6.3/intel export PATH=${SELECT_MPI}/bin:$PATH export LD_LIBRARY_PATH=${SELECT_MPI}/lib:$LD_LIBRARY_PATH 2013 年 8 月現在, デフォルトの Intel コンパイラの ver. は 13.0 です. 1.2. コンパイルとソース修正 TSUBAME2.0 環境におけるプログラム移植のための修正を記載します. 1.2.1. config_mine の修正 システムに合わせて Makefile 一式を作成する config_mine を修正します.TSUBAME2.0 環境に合 わせて, LINUX64 mpif90(ifort) (For Tsubame2) と書かれたブロックをベースに編集します. 数学ライブラリの指定は, -mkl=parallel で並列版の MKL を使用します. --scratch で実際に存在するディレクトリを指定します. ~ 修正後 :config_mine~ # LINUX64 mpif90(ifort) (For Tsubame2)./configure \ --lapack= \ --blas= \ --atlas=-mkl=parallel \ --scratch=/work1/t2g-hp120261/12ih0187/hpci_fs2013_t/fsapp_2nd/ntchem-rimp2/mk_scr \ linux64_mpif90_omp_intel_tsubame2 編集完了後,./configure_mine で実行します. - 2 -

1.2.2. config/makeconfig の修正 config_mine によって作成された Makefile 一式では, プログラムの実行時にセグメンテーションフォルト (SIG SEGV) が発生する恐れがあります. これは,Intel コンパイラ ver.13.0 固有の問題で, -heap-arrays オプションが不具合発生のスイッチとなっています. コンパイルオプションの設定箇所から削除して, -heap-arrays オプションを使用せずコンパイルするよう修正しました. ~ 修正前 :config/makeconfig(33 行目付近 )~ F77C = mpif77 F77FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report 0 -cm -heap-arrays -w95 F77FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report 0 -cm -heap-arrays -w95 F90C = mpif90 F90FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report 0 -cm -heap-arrays -w95 F90FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report 0 -cm -heap-arrays -w95 ~ 修正後 :config/makeconfig(33 行目付近 )~ F77C = mpif77 F77FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F77FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report F90C = mpif90 F90FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F90FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report Intel コンパイラ ver.13.0 の -heap-arrays オプションに関する補足 一般的に,stack 領域が不足した場合の改善を目的として使用されています. 他にも原因に応じて, システム側の stack サイズ拡張 (ulimit -s 等 ) や,OpenMP スレッド毎の stack サイズ拡張 ( 環境変数 OMP_STACKSIZE) 等で回避が可能です.TSUBAME2.0 の計算ノードでは, 予めシステム側の stack サイズが unlimited となっています. エラーに関する参考情報 (URL):http://software.intel.com/en-us/articles/intelfortran-compiler-increased-stack-usage-of-80-or-higher-compilers-causessegmentation-fault - 3 -

1.3. バッチジョブ実行コンパイルして作成した実行モジュール rimp2.exe と, 配布されたデータ一式を使用して, バッチジョブを実行します. 4 種類あるデータの内,1 つを実行しました. ~ 使用ケース ~ データ名並列数 taxol 32ノード (MPI 64プロセス OpenMP 6スレッド ~ バッチジョブスクリプト (go.sh)~ #!/bin/bash cd ${PBS_O_WORKDIR} export OMP_NUM_THREADS=6 mpirun -np 64 --report-bindings -bysocket -cpus-per-proc 6 -bind-to-core -x OMP_NUM_THREADS -hostfile ${PBS_NODEFILE}./rimp2.exe >&./log.mpi 作業ディレクトリと同じパス (PBS_O_WORKDIR) に移動し,mpirun を実行します. 環境変数 OMP_NUM_THREADS は,mpirun の -x オプションで全プロセスに渡します. TSUBAME2.0(westmere) は,6 コア *2 ソケットの計 12 個の物理的 CPU 構成となっています. bind に関する記述は Open MPI のオプションであり, ハイブリッド実行時の各プロセスをソケット毎に割り当てる設定となります. その他, バッチジョブの詳細については省略します ( 詳細はマニュアルにて ) ~ バッチジョブ投入方法 ~ % t2sub -q S -W group_list=t2g-hp120261 -l walltime=00:30:00 -l select=32:ncpus=6:mpiprocs= 2:mem=50gb -l place=scatter./go.sh -q でキュー名, -W group_list でグループ名を指定します( ワークショップ用リソース, およびアプリ FS の課題番号の情報に基づいて設定します ) -l select=32:ncpus=6:mpiprocs=2:mem=50gb -l place=scatter で,2 プロセス &50GB のチャンクを 32 個分確保します. 結果的に,32 ノード,MPI 64 プロセスの実行の設定となります. 使用時間 ( 上限 ) は, -l walltime で設定します. その他, バッチジョブの詳細については省略します ( 詳細はマニュアルにて ) - 4 -

1.4. 実行結果の確認 バッチジョブのログ (OTHERS.e*,OTHERS.o*) と mpirun の実行ログ (log.mpi) を確認し, プログラ ムが問題なく動作していることを確認しました. ~ 実行ログ (log.mpi) 抜粋 ~ : SCF energy = -2912.07578182458 MP1 energy = 0.000000000000000E+000 MP2 energy (Singlet corr ) = -6.75799573369710 MP2 energy (Triplet corr ) = -2.49726273967200 MP2 energy (Total corr ) = -9.25525847336910 SCS-MP2 energy (Total corr ) = -8.94201579366052 Total MP2 energy = -2921.33104029795 Total SCS-MP2 energy = -2921.01779761824... CPU time (3/3k 2cints comm) : 7.63... CPU time (4c Ints ) : 316.72... CPU time (EMP2 corr. ) : 8.44... WALL time (3/3k 2cints comm) : 1.34... WALL time (4c Ints ) : 53.92... WALL time (EMP2 corr. ) : 0.31... CPU time (RIMP2_RMP2Energy) : 333.73... WALL time (RIMP2_RMP2Energy) : 55.91... CPU time (RIMP2_Driver ) : 384.44... WALL time (RIMP2_Driver ) : 68.17 MPI has been terminated - 5 -

2. TSUBAME2.0 Scalasca 連携実行 2.1. Scalasca 環境設定 Scalasca は, アプリ FS 共用にインストールしたパッケージを使用します. 節 1.1 の環境設定に加えて,${HOME}/.bashrc 等で環境変数 ( パス等 ) を設定します. ~ 設定例 ~ export PATH=/work1/t2g-hp120261/fs_share_tool/scalasca-1.4.3/bin:${PATH} export PAPI_ROOT=/work0/GSIC/apps/papi-5.0.0 export PATH=${PATH}:${PAPI_ROOT}/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PAPI_ROOT}/lib export LIBRARY_PATH=${LIBRARY_PATH}:${PAPI_ROOT}/lib export FPATH=${FPATH}:${PAPI_ROOT}/include export CPATH=${CPATH}:${PAPI_ROOT}/include export MANPATH=${MANPATH}:${PAPI_ROOT}/man 2013 年 8 月現在,Scalasca は ver.1.4.3 がインストールされています. HW カウンタの情報は,PAPI を利用して採取しています.PAPI の環境設定は不要ですが, 異なる PAPI の ver. を設定している場合には, 削除する必要があります. - 6 -

2.2. Scalasca 連携 コンパイル 2.2.1. コンパイラの設定 Scalasca を利用したコンパイルは, 基本的には mpif90 等コンパイラのコマンドの前に scalasca -instrument ( もしくは短縮形 skin ) を追加するのみです.config/makeconfig の該当部分を修正しました. ~ 修正前 :config/makeconfig(32 行目付近 )~ F77C = mpif77 F77FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F77FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report F90C = mpif90 F90FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F90FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report : 中略 : LD = mpif90 LDFLAGS = -pc -intel -L$(LIB) LDFLAGS_NOMAIN = -nofor_main ~ 修正後 :config/makeconfig(32 行目付近 )~ F77C = skin mpif77 F77FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F77FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report F90C = skin mpif90 F90FLAGS = $(DMACRO) $(INCMOD) -i8 -O2 -ftz -auto -assume byterecl -vec-report F90FLAGSNOOPT = $(DMACRO) $(INCMOD) -i8 -O0 -ftz -auto -assume byterecl -vec-report : 中略 : LD = skin mpif90 LDFLAGS = -pc -intel -L$(LIB) LDFLAGS_NOMAIN = -nofor_main - 7 -

2.3. Scalasca 連携 プログラム実行 コンパイルして作成した実行モジュール rimp2.exe と, 配布されたデータ一式を使用して, バ ッチジョブを実行します. 使用するケースとジョブの投入方法は, 節 1.3 の通常実行と同じです. Scalasca を利用したプログラム実行は, 実行モジュール ( 逐次 ) や mpirun(mpi 並列 ) コマンドの前に scalasca -analyze ( もしくは短縮形 scan ) を追加して行います. TSUBAME2.0 のバッチジョブでの実行では,Scalasca と mpirun のオプションが正しく識別できないため,mpirun のオプションを ( ダブルクォーテーション ) で囲う必要があります. 混同を避けるため,Scalasca 側のオプションを指定する場合は, 設定ファイル (EPIK.CONF) に書くことをお勧めします. ~ バッチジョブスクリプト (go.sh)~ #!/bin/bash cd ${PBS_O_WORKDIR} export OMP_NUM_THREADS=6 scan mpirun -np 64 "--report-bindings" "-bysocket -cpus-per-proc 6 -bind-to-core" "-x OMP_N UM_THREADS" "-hostfile ${PBS_NODEFILE}"./rimp2.exe >&./log.mpi ~ 設定ファイル (EPIK.CONF) の例 ~ EPK_TITLE=fs_ntchem アーカイブ名 EPK_METRICS=PAPI_SP_OPS:PAPI_DP_OPS:PAPI_VEC_SP メトリックの指定 (PAPIプリセットイベント) ESD_BUFFER_SIZE=100000000 バッファサイズの指定 - 8 -

2.4. Scalasca 連携 実行結果の表示 ( 可視化 ) X-window が使用できるターミナルを立ち上げて, 出力されたアーカイブ (epik_*) に対して. scalasca -examine ( もしくは短縮形 square ) を実行します. ~ コマンド実行例 ~ % square epik_fs_ntchem ~ 表示画面 ~ - 9 -

2.5. その他 ( 未完了項目 ) ワークショップでは,TSUBAME/Scalasca がターゲットだが,VampirTrace および京 &FX10 の場合に ついても同様に執筆のつもり? 本ドキュメントもしくは wiki で追加検討 ( 汎用的な部分は Tips として wiki 掲載を励行 ) 代表的な Scalasca のオプションやパラメータ ( コンパイル時 実行時 ) PAPI プリセットイベント (papi_avail 参照 ) ユーザー区間指定 ( 手動 ) の例 PAPI のイベント指定は変更する可能性アリ ( 東工大様への依頼分 ) 各種結果からの分析方法,Vampir サーバーの使い方, 全ツールの評価時間一覧表 ( オーバーヘッド ) - 10 -