想定されるデータはオフロードごとに 1 度転送され、すべてのインスタンスがデータを共有します。
--assume-single-data-transfer --no-assume-single-data-transfer |
オフ (no-assume-single-data-transfer)
このオプションが無効である場合、楽観的なアプローチによってデータ転送のコストを見積もります。データはオフロードごとに 1 度だけ転送され、すべてのインスタンスがそのデータを共有すると仮定します。
このオプションが有効である場合、悲観的なアプローチによってデータ転送のコストを見積もります。各データ・オブジェクトは、それを使用するオフロードのインスタンスごとに転送されると仮定します。これは、同じカーネルの呼び出し間でデータが再利用されないことを前提としています。CPU で実行される SYCL*、OpenMP* target、および OpenCL* カーネルは、通常、それらのカーネル呼び出し回数が膨大となるため、1 回しかカウントされません。
サーベイ解析を実行します。
特性化ステージと軽量なデータ転送解析によるトリップカウント & FLOP 解析を実行します。
データが 1 回だけ転送されると仮定して、アプリケーションのパフォーマンスをモデル化します。
advisor --collect=survey --static-instruction-mix --project-dir=./advi_results -- ./myApplication
advisor --collect=tripcounts --flop --data-transfer=light --project-dir=./advi_results -- ./myApplicationadvisor --collect=projection --assume-single-data-transfer --project-dir=./advi_results