正式には、Integrated Performance Monitoring ライブラリと言う。プログラムの内部関数の時間などを計測し、パフォーマンスの改善につなげるためのライブラリツール。使い方はプログラムリンク時に、IPMライブラリを指定することによって、利用する。計測結果は、標準出力またはファイルに出力される。MPIの通信時間など広くプログラム実行速度のチェックに使われているらしい。
インストール[編集]
2017年現在、ソースはGitHubから提供されている。
git clone https://github.com/nerscadmin/IPM.git cd IPM ./configure --with-os=LINUX --with-compiler=gcc --with-arch=LINUX --with-cpu=INTEL --prefix=~/ --with-hpm=PAPI make make install
これでUbuntu17.04ではインストールされた。インストールされる場所は、自分のルートディレクトリの~/bin, ~/lib, ~/etcである。
使い方[編集]
プログラムリンク時に、その一番お尻にライブラリを指定する。
mpicc foo1.o foo2.o -lfoo -lboo -L~/lib -lipm -o foo
そして、並列処理を始める。
mpirun -np 120 foo arg1 arg2 ...
実行終了時に標準出力やファイルに結果が出力される。出力されるファイルは、xxx_xxx.xmlというファイルになる。このファイルはxmlファイルで階層データになっていてそのままではよく分からないので、グラフィックに出力させる。そのツールは既に用意されている。
~/bin/ipm_parse -html xxx_xxx.xml
すると、ディレクトリが作られ、内部にHTMLファイルがセーブされているのでそれをウェブブラウザで表示すればよい。
0 件のコメント:
コメントを投稿