問題: ループで使用されるホスト・ポインター・アクセサー

多くのアルゴリズムでは、ほとんどの操作がデバイスメモリーで実行され、一部の操作がホストメモリーで実行されることがあります。これには、ホストアクセサーを使用してホストメモリーを更新するようなシミュレーション・コードなどがあります。このような場合、SYCL* ランタイム内では多くの処理が実行されます。具体的には、アクセサーが指すバッファーがロックされ、ホストデバイス上のバッファーメモリーのコピーが更新されます。このようなアクセスによりデータの一貫性を維持するため、デバイスからホストへ大量のメモリーコピーが発生する可能性があります。

フローグラフ・アナライザー は、次のような方法でこの問題を報告します。

問題をクリックして、ホストのポインターアクセサーで構成されるグラフ内のループを強調表示します。

ホストのポインターアクセサーが指すバッファーが大きい場合、このアクセサーで発生するコストは、それぞれのループの大部分を占める可能性があります。