私の研究の一環として、明示的なタスクを使用して OpenMP コードをプロファイリングするための代替手段を探しています (OpenMP 3.0 に従って)。私の主な目的は、スケジュールされて実行される前に、タスクがグローバル バリア (タスク待機など) でアイドル状態になっているときに発生するオーバーヘッドの量を調べることです。
私は最新バージョンの TAU を使用することを検討しました。これは Opari をサポートしており、ソース コードを計測してプロファイリング統計を生成します。残念ながら、これはソース コードを計測するため、プログラムの実行に大量のオーバーヘッドが発生します。
Gprof や PGprof などのツールでは、探している詳細情報が得られません。私はすでにそれらを試してテストしました。
最小限のオーバーヘッドを課すことにより、タスクを使用して OpenMP プログラムをプロファイリングするのに役立つツールを探しています。HPCToolkit と Scalasca を調べてみたくなりましたが、それらが OpenMP タスクをサポートしているかどうかはわかりません。
道順と提案を探しています。ありがとう!!