マクロ - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

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

AMD では、x86 シミュレータを使用する際に有益な定義済みのコンパイラ マクロを提供しています。最上位グラフ (通常は graph.cpp) で、次のプリプロセッサ マクロを、適切なコードを含めるか除外するかを指定する条件 #if を使用して使用すると有益です。

表 1. マクロ
マクロ 説明
__X86SIM__ コードを x86sim フローにのみで使用するよう指定します。
__AIESIM__ コードを aiesimulator フローにのみで使用するよう指定します。

X86SIM_KERNEL_NAME

printf() と共に使用して、インストルメンテーション テキストにカーネル インスタンス名を付けます。
注記: アンダースコア _ で囲まれたマクロは、前後にアンダースコアが 2 つずつあります。

次に、マクロ コードの例を示します。

myAIEgraph g;
#if defined(__AIESIM__) || defined(__X86SIM__)
int main()
{
   g.init();
   g.run(4);
   g.end();
   return 0;
}
#endif
ヒント: __AIESIM__ マクロは AI エンジン シミュレータのみで使用され、__X86SIM__ は x86 シミュレータに適用されます。

上記の例では、__X86SIM__ マクロがgraph.cpp ファイルで使用される main() に設定されています。この main() はエミュレーション フローでは除外する必要がありますが、これらのマクロを使用して制御できます。また、x86 シミュレーション中にのみデバッグ インストルメンテーションをイネーブルにする場合に __X86SIM__ マクロを使用することもできます。