ユーザー制約の定義に間違いがあると、マップでエラーが発生する場合があります。これらの間違いの一部は、マップのプリチェックで検出されます。ただし、プリチェックで検出されないものもあります。その場合は、次を確認します。
- グラフに多数の絶対ロケーション制約またはコロケーション制約がある場合、これらの制約で競合する指示子が指定されていないかを確認します。これは、AI エンジン アレイが次の図に示すように格子状になっているために発生している可能性があります。
この図では、カーネル (赤) に絶対ロケーション制約が設定され、その間にあるウィンドウ バッファー (緑) には最初のカーネルとのコロケーション制約が設定されています。これにより、マップでエラーが発生する可能性があります。
図 1. 競合する絶対ロケーション制約とコロケーション制約
- カスケード接続チェーンに含まれるカーネルに絶対ロケーション制約が設定されている場合は、それらの制約がアーキテクチャと互換性があることを確認します。AI エンジン アーキテクチャでは、カスケード接続の方向が行ごとに変わります。絶対ロケーション制約とカスケード接続が次の図のように設定されていると、マップでエラーが発生します。図 2. 競合するカスケード接続の方向
- 場合によって、特定のタイルに制約されているバッファーのサイズがそのタイルのメモリ容量 (AI エンジン アーキテクチャでは 32 KB) を超えていることがあります。これにより、マップでエラーが発生する可能性があります。
- AI エンジン アーキテクチャの各タイルには、2 つの入力と 2 つの出力 DMA チャネルがあります。特定のタイルでこれを超える DMA チャネルが必要となるようにバッファーが制約されていると、マップでエラーが発生します。