0

OpenCL にメモリ バッファがある場合、データを 16 バイト境界に揃える必要があることはわかっています。

しかし、データ全体 (データ構造ではなく、実際のデータ コレクション) が、たとえば 15 バイトしかない場合はどうすればよいでしょうか?
16 バイトのビッグ バッファまたは 15 バイトのバッファに入れる必要がありますか?
性能差はありますか?

4

1 に答える 1

0

15 バイトのデータ構造の多くを使用し、ローカル メモリを使用する予定がある場合は、15 バイトの構造体を保持し、それらの 16 の倍数を一度にロードすることをお勧めします。「多数」とは、ワーク グループ内の少なくとも数 kb 相当のデータになると思います。これは、15 バイトごとに余分なバイトを犠牲にすると、転送オーバーヘッドが 6% 増えるためです。サイズを 15 のままにしておくと、データをメモリ (ローカル メモリとグローバル メモリの両方) に書き戻すときにバンクの競合を回避するのにも役立ちます。

銀行の競合に関する詳細情報。

于 2013-03-07T01:43:00.560 に答える