Allinea MAP は、並列/マルチスレッド/シングルスレッドの C/C++、Fortran/F90 コード向けのプロファイラです。詳細な解析を実施し、パフォーマンスのボトルネックとなる部分をソースの行レベルで示します。Pthreads、OpenMP、MPI の並列化/スレッド化されたコードをプロファイリングできるように設計されています。
Allinea MAP の使用方法は簡単です。コードを計測したり、難解なコンパイルの設定を覚える必要はありません。-g オプションでコンパイルし、以下の通り Allinea MAP を実行するだけです。
$ map my_application.exe
MPI ユーザーであれば以下の通りです。
$ map mpirun -np 128 ./bt_128_C datafile.in
簡単です。
世界最大級のマシンから組込みプロセッサーまで、Allinea MAP は利用されています。
プログラムの終了後、Allinea MAP は最も時間が掛ったソースコードの行を示します。また、演算時間は緑のグラフ、通信時間は青のグラフで表示され、プログラムの実行中に何が起こっているのかを把握することは簡単です。
ソースコードビュー、並列スタックビューなど Allinea MAP のインターフェースの多くは Allinea Forge や Allinea DDT のインターフェースと同一であり、新たなインターフェースを覚える必要はほとんどありません。
古典的なトーレスベースのパフォーマンスツールとは異なり、Allinea MAP はデータシステム内のファイルを決してダウンさせません。
Allinea の業界をリードするクラスタ上のマージテクノロジーと組み合わさったアダプティブサンプリングレートは、適切なデータ量が正確に記録されます。ワークステーションで10分間実行した場合であっても、リモートで数万コアのスパーコンピューターを1週間実行した場合であっても問題ありません。
Allinea MAP であれば、適切なメトリクスを選択したか、実装レベルが適切か、といった心配をする必要はありません。どのような場合であっても処理速度の低下は5% 程度です。