v++ の一般的なコンパイル オプション - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

一般的な v++ コンパイル オプションは、通常はコンフィギュレーション ファイルではなく、コマンド ライン上に表示されます。含まる可能性があるのは、-c (または --compile) オプション、AI エンジン コンポーネントまたは HLS コンポーネントを生成する場合の --mode--platform または --part、build --target、および --config ファイルです。

v++ -c --mode aie --platform xilinx_vck190_base_202310_1 --target hw \
-config ./aie_config.cfg <input_files...>
ヒント: コマンド ラインで使用する相対パスは、コマンドを起動した現在の作業ディレクトリからの相対パスです。コンフィギュレーション ファイル内の相対パスは、コンフィギュレーション ファイルの位置からの相対パスです。

v++ のコマンド オプションは、通常コンフィギュレーション ファイル、またはコマンド ラインで使用できます。ただし、次のオプションは、コマンド ラインでのみ使用可能です。

-c [ --compile ]

コンパイル モードを実行します。

--config <file_name>
コンフィギュレーション パスおよび名前を指定します。
--mode [ aie | hls ]

コンパイル モードは、AI エンジン コンポーネントのコンパイル、または HLS コンポーネントのコンパイルのいずれかを指定します。

重要: --mode がないため、v++ -c コマンドは、C/C++ PL カーネルのコンパイル で説明するように、Vitis カーネル フロー用の従来のトップダウン コンパイル モードとなります。
-h [ --help ]

オプションを説明するメッセージを表示します。--mode オプションと組み合わせることで、AI エンジン コンポーネントまたは HLS コンポーネントで使用可能なオプションをリストできます。

-v [ --version ]

バージョン情報を表示します。

--input_files <arg>

入力ファイル (複数可) を指定します。入力ファイルは、--input_files オプションを指定せずに、任意の位置で指定することもできます。

-o [ --output ] <arg>

出力ファイル名とパスを指定します。デフォルトは AI エンジン コンパイル モードの場合は libadf.a、HLS コンパイル モードの場合は <kernel_name>.xov++ --link コマンドの場合は a.xclbin です。

-f [--platform]

AI エンジン コンポーネント、HLS コンポーネント、およびアプリケーションで使用可能なハードウェアおよびソフトウェア コンポーネントを定義する Vitis プラットフォーム ファイルへのパスを指定します。プラットフォームは、プラットフォーム仕様 (XPFM) またはハードウェア仕様 (XSA) のいずれかになります。

--log_dir <arg>

内部生成されたログ ファイルをコピーするディレクトリを指定します。

--macro_dir <arg>

ベースディレクトリを定義するマクロを指定します (<macro_name>=<base_directory>)。マクロに $ 記号を付けると、相対パスを指定できます。

--report_dir <arg>

レポート ファイルをコピーするディレクトリを指定します。

--work_dir <arg>

オプションで、ビルド ファイルと出力ファイル用の作業ディレクトリを指定します。--mode aie の場合、作業ディレクトリはデフォルトで ./Work になります。--mode hls の場合は、hls.syn.top で指定された最上位関数がデフォルトとなります。このオプションは、コマンド ラインでのみ指定できます。

--aie_legacy

aiecompiler のレガシ オプションを使用します。

次のオプションは、コンフィギュレーション ファイル、またはコマンド ラインで使用できます。

ヒント: これらは一般的なオプションなので、コンフィギュレーション ファイルのヘッダー ([AIE][HLS]など) の下に置く必要はありません。
-t [ --target ] <arg>

--target の引数は、--mode と使用した場合と、使用しなかった場合とで、値が異なります。

  • --mode と使用する場合、ターゲットは AI エンジン または HLS コンポーネントのコンパイル ターゲットを定義します。
    • x86: AI エンジン コンポーネントの x86 シミュレーションの場合、または HLS コンポーネントの C シミュレーションの場合のコンパイルを指定します。
    • hw: AI エンジン コンポーネントの場合は AI エンジン シミュレータ、HLS コンポーネントの場合は C/RTL 協調 シミュレーションで、いずれかのコンポーネントの場合は物理デバイス上で実行するコンパイルを指定します。
  • --mode なしで使用: ターゲットが、ヘテロジニアス コンピューティングのためのシステム プロジェクトの作成 で説明されるように、アプリケーション フローの従来のビルド ターゲット (sw_emuhw_emuhw) を定義します。

ターゲットには、従来の v++ コンパイル モードの場合は sw_emuhw_emuhwAI エンジン コンパイル モードの場合は x86 シミュレーション、AI エンジン シミュレーションの場合は hw を指定します。デフォルト ターゲットは hw です。

--part <arg>

パーツ ファミリまたはパーツの値を指定します。このオプションは、--platform または --hls.board と一緒に使用できません。

-D [ --define ] <name=definition>

<definition> を含めたマクロに <name> を前もって定義します。

-I [ --include ] <arg>

ヘッダー ファイルを検索するディレクトリのリストに指定のディレクトリを含めます。