プロファイラ PGPROF の使用

2017年3月8日更新

全てのコンパイル・オプション

プロファイリングを行うためのコンパイル・オプション

 PGI PGPROF プロファイラは、PGI 2016(2016年版) から 全く新しいプロファイラ・ソフトウェアに更新されました。これは、NVIDIA CUDA Profiling Tools Interface (CUPTI) を採用し、CPU コードのプロファイリングもしくは、CPU とGPU の両方のプロファイリングが可能であり、グラフィカル、あるいはコマンドラインベースのインタフェースを持ちます。なお、新 PGPROF は以前のバージョン(PGI 15.10 以前) の PGPROF と互換性がありません。これに伴い、従来可能でありました MPI に関する分析機能は廃止されました。

■ (PGI 16.1 以降の機能)OpenMP、OpenACC 対応 PGPROF 並列プロファイラ

 OpenMP あるいは OpenACC ディレクティブや CUDA を使って記述された並列プログラムに対する簡単に使用できるインタラクティブな性能を分析できるプロファイラです。特に、CUDA アプリケーションのプロファイリング機能と言う色彩が濃いため、CPU用だけに限ったプロファイリングは、以下に説明する旧バージョンの PGPROF を利用した方がよいです。新しい PGPROF の詳細は、こちらのページをご覧ください

使用方法に関しては、PGPROF Quick Start Guide (PGI 16.1以降)へ

マニュアルは、PGPROF User Guide (PGI 16.1 以降)をご覧ください。

■ (PGI 15.10 以前の機能)OpenMP / MPI 対応 PGI® PGPROF 並列プロファイラ

 MPI 並列プロセス 並びに OpenMP スレッド並列対応の性能プロファイリングを行うことができる従来のPGIプロファイラです。旧バージョンである PGI 15.10 を追加インストールすることにより、当該バージョンの pgprof が使用できます。但し、このバージョンはすでに終息しているため、バグフィックス等のサポートはありません。なお、コンパイラの環境として、新バージョンのコンパイラを使用するのではなく、PGI 15.10 を使用して executable を作成することをお勧めします。詳細は、こちらのページをご覧ください

 Windows 版の PGI 15.10 のインストールの方法は、こちらの FAQ を参考にしてください。なお、実装している PGI 15.10 より新しいバージョンと並行に PGI 15.10 も実装することになります。同じ root 場所(C:\Program files\PGI) の配下に実装され、既存バージョンは上書きされませんのでご安心ください。

 Linux 版の PGI 15.10 は、こちらからPGI 2015 版をダウンロードしてください。tar file を /tmp エリアに展開して、install script を実行しますが、その方法をこちらに説明しております。旧バージョンの pgprof コマンドを使用したい場合は、Linux の環境変数 PATH を $PGI/linux86-64/15.10/bin と変更して行うことを推奨します。なお、pgprof 15.10 を使用する際は、コンパイラの環境も PGI 15.10 を使用する必要があります。

 PGI 15.10 の pgprof の使い方に関しては、こちらの記事をご覧ください。(-Mprof=func or -Mprof=lines を使わず、pgcollect utility を利用して pgprof を行うことを推奨します)

マニュアルは、PGPROF User Guide (PGI 15.10 以前)をご覧ください。