4

Cray Chapel での GASNet 通信操作の開始時刻と終了時刻を収集する基本的なプロファイラーに取り組んでいます。頭に浮かんだ唯一のアイデアは、チャペル通信関数に命令を挿入して関数呼び出し時間を取得することでした。言語ソースコードをいじらずにそれを行う方法はありますか?

4

1 に答える 1

3

GASNet には強力な組み込みトレース インフラストラクチャがあり、GASNet クライアントの通信トレースを収集するために使用できます。--enable-trace を使用して GASNet を構成することで有効になります。--enable-stats を介して利用できる統計収集機能もあります。これらの詳細については、こちらの README の「GASNet トレースと統計収集」セクションを参照してください。

https://bitbucket.org/berkeleylab/gasnet/overview

これらのトレース機能と stat 機能は、主に GASNet と言語ランタイム システムのデバッグ用に記述されており、実行時間のオーバーヘッド (トレースの場合は CPU とファイル I/O) がかなりかかる可能性があることに注意してください。また、すべての情報は、高級言語ではなく、GASNet 操作とメモリ位置のレベルになります。したがって、変更なしで機能し、多くの情報が得られますが、Chapel プロファイリングのニーズに完全に一致するとは限りません。

于 2014-04-13T06:21:38.943 に答える