wego_torch::core::CompileOptions
WeGO-Torch のコンパイル オプションを指定するための C++ クラス オブジェクトです。このクラスのインスタンスを作成して、wego_torch::core::Compile 関数の引数として渡す必要があります。
タイプ | 名前 | 説明 |
---|---|---|
wego_torch::AccuracyMode | accuracy_mode | 精度モードを指定します。次の 2 つの種類があります。
|
wego_torch::core::PartitionOptions | partition_options | パーティション オプションの設定。詳細は、wego_torch::core::PartitionOptions クラスを参照してください。 |
std::vector<InputMeta> | inputs_meta | モデルの各入力の wego_torch::InputMeta のベクター。 |
uint32_t | thread_parallel | 性能を最適化するためのパラメーター。 |
uint32_t | core_parallel | 性能を最適化するためのパラメーター。 |
wego_torch::core::DebugOptions | debug_options | デバッグ オプションの設定。詳細は、wego_torch::core::DebugOptions クラスを参照してください。 |
wego_torch::core::PartitionOptions
WeGO 分割設定のオプション。
タイプ | 名前 | 説明 |
---|---|---|
uint32_t | wego_subgraph_min_ops_number |
現在の WeGO は、演算子が DPU でサポートされている限り、貪欲法を使用してこれらを DPU に割り当てます。このため、次のような問題が生じることがあります
この問題に対処するため、wego_subgraph_min_ops_number オプションが追加されています。このオプションでは、DPU で実行される DPU サブグラフの最小演算子数を設定できます。設定しない場合、DPU がすべての演算子をサポートしていても、CPU で実行されます。
注記:
wego_subgraph_min_ops_number = 0 は制限がないことを意味します。
|
std::vector<std::string> | extra_accel_op_list | DPU はさまざまな DL 演算子をサポートできますが、いくつかの制限があります (たとえば DPUCVDX8H_ISA1_F2W4_4PE はカーネル 1 ~ 16 およびストライド 1 ~ 4 のたたみ込みしかサポートできない)。分割を実行する際、WeGO は DPU 制限チェック エンジンを使用して DPU の互換性を判断します。ただし演算子によっては互換性ルールが非常に複雑であり、オーバーヘッドが過大になる場合があります。これを回避するため、WeGO はデフォルトではこれらの演算子を DPU にディスパッチしません。高速化する必要のある演算子のタイプをユーザーが extra_accel_op_list に明示的に指定する必要があります。次の演算子は extra_accel_op_list で指定すると DPU で実行できます。
注記: WeGO で extra_accel_op_list にリストされている演算子のコンパイル中にエラーが発生した場合、DPU がその演算子を高速化できないことを示します。エラーが報告されない場合、これらの演算子は正常に高速化できます。
|
wego_torch::core::DebugOptions
WeGO デバッグのオプションです。
タイプ | 名前 | 説明 |
---|---|---|
bool | accuracy_debug | 精度に問題があるサブグラフの入力/出力値をダンプするためには、この値を true に設定します。これで、これらのサブグラフの入力/出力値を記録できるようになります。デフォルト値はオフです。 |
wego_torch::InputMeta
量子化されたモデルの入力を記述するメタ情報。Vitis AI ツールチェーンの制限のために、WeGO-Torch はスタティック タイプおよび静的形状を使用したコンパイルのみをサポートします。WeGO-Torch による型と形状の推論を有効にするには、各入力のデータ型と形状の情報を明示的に渡す必要があります。
タイプ | 名前 | 説明 |
---|---|---|
wego_torch::DataType | type_ | 現在の入力テンソルのデータ型。値は、wego_torch::DataType::kBool、wego_torch::DataType::kInt32、または wego_torch::DataType::kFloat32 に設定できます。 |
wego_torch::ShapeType | input_shape_ | 現在の入力テンソルの入力形状。 |
wego_torch::TargetInfo
DPU ターゲットの情報にアクセスするためのラッパーとして機能する C++ クラス オブジェクトであり、DPU ターゲットのバッチ、名前、フィンガープリント、およびフィンガープリントによる情報を提供します。
タイプ | 名前 | 説明 |
---|---|---|
std::string | name | DPU ターゲットの名前 |
uint64_t | fingerprint | オンボード DPU ターゲットのフィンガープリント |
bool | is_fingerprint_driven | DPU サブグラフのコンパイルが、フィンガープリントまたはターゲット名のいずれを使用するかを指定。 |
uint32_t | batch | オンボード DPU ターゲットでサポートされるバッチ サイズ |