assume-single-data-transfer

想定されるデータはオフロードごとに 1 度転送され、すべてのインスタンスがデータを共有します。

構文

--assume-single-data-transfer

--no-assume-single-data-transfer

デフォルト

オフ (no-assume-single-data-transfer)

影響するアクション

collect=projection

collect=offload

使用法

このオプションが無効である場合、楽観的なアプローチによってデータ転送のコストを見積もります。データはオフロードごとに 1 度だけ転送され、すべてのインスタンスがそのデータを共有すると仮定します。

このオプションが有効である場合、悲観的なアプローチによってデータ転送のコストを見積もります。各データ・オブジェクトは、それを使用するオフロードのインスタンスごとに転送されると仮定します。これは、同じカーネルの呼び出し間でデータが再利用されないことを前提としています。CPU で実行される SYCL*、OpenMP* target、および OpenCL* カーネルは、通常、それらのカーネル呼び出し回数が膨大となるため、1 回しかカウントされません。

--data-transfer=[light | medium |full] または --enable-data-transfer-analysis を使用して、トリップカウントの収集中のデータ転送解析を有効にします。

  1. サーベイ解析を実行します。

  2. 特性化ステージと軽量なデータ転送解析によるトリップカウント & FLOP 解析を実行します。

  3. データが 1 回だけ転送されると仮定して、アプリケーションのパフォーマンスをモデル化します。

advisor --collect=survey --static-instruction-mix --project-dir=./advi_results -- ./myApplication
advisor --collect=tripcounts --flop --data-transfer=light --project-dir=./advi_results -- ./myApplication
advisor --collect=projection --assume-single-data-transfer --project-dir=./advi_results

関連情報