詳細
このメッセージは、移行メモリ OpenCL API が呼び出された頻度を示します。
説明
clEnqueueWriteBuffer
と clEnqueueReadBuffer
OpenCL バッファーを使用すると便利ですが、実際のトランザクションは clEnqueueTask の呼び出しによってトリガーされます。このため、書き込みバッファーは clEnqueueTask が開始されてからデータ転送を開始するため、これらの関数により不要なオーバーヘッドが出る可能性があります。
また、OpenCL には clEnqueueMigrateMemObjects
API も含まれ、帯域幅があれば、すぐにデータ転送を開始するようになっています。AMD では、ホスト コードからアクセラレータへのデータ転送の開始には、このインターフェイスのみを使用することを強くお勧めしています。
推奨
AMD では、clEnqueueMigrateMemObjects
を使用することをお勧めしています。使用しない場合は、アプリケーションのタイムラインとホスト コードの同期に注意が必要です。PCIe の帯域幅を使用せずに、実際にデータ転送を呼び出してから実行されるまでの時間がかなり経過している場合、clEnqueueMigrateMemObjects
呼び出しを利用することでコードが改善される可能性があります。