restrict キーワード - 2023.2 日本語

AI エンジン カーネルおよびグラフ プログラミング ガイド (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 日本語

restrict キーワードは、ポインターの宣言でポインターの型修飾子として主に使用されます。新しい機能は追加されません。コンパイラに可能な最適化について通知します。ポインターに __restrict を使用すると、ポイントされているオブジェクトにアクセスするにはポインターを使用する必要があることが指定され、コンパイラが追加のチェックを実行する必要はありません。

注記: restrict キーワードを使用しているときに上記の条件に違反すると、動作が不定義のものになります。

次は、ポインターの別の例であり、デフォルトではエイリアシングは実行されません。

図 1. エイリアシングなしの例

パフォーマンスを向上させるため、restrict キーワードを適用します。次に、ほかのポインターとのメモリ依存がない例を示します。

図 2. ほかのポインターとのメモリ依存がない例