高度な移行オプション#

次の表には、移行されたソースを制御し、レポートを生成し、API マッピングを照会する高度なオプションがリストされています。

移行したコードをフォーマットするオプション#

オプション

説明

--format-range=<value>

書式設定の範囲を設定します。

設定可能な値は以下のとおりです。

  • =all: すべてのコードを書式設定します。

  • =migrated: 移行したコードのみ書式設定します (デフォルト)。

  • =none: コードを書式設定しません。

--format-style=<value>

書式形式を設定します。

設定可能な値は以下のとおりです。

  • =custom: .clang-format ファイルで定義されているコード形式を使用します (デフォルト)。

  • =google: Google* コード形式を使用します。

  • =llvm: LLVM コード形式を使用します。

.clang-format ファイルの内容の例:

BasedOnStyle: LLVM IndentWidth: 4 TabWidth: 4 UseTab: ForIndentation

追加の移行ルールを指定するオプション#

オプション

説明

--rule-file=<file>

移行に使用するルールを含むファイルのパスを指定します。

SYCL* 拡張機能と実験的機能を制御するオプション#

オプション

説明

--no-dpcpp-extensions=<value>

移行したコードで使用されない拡張子のカンマ区切りのリスト。デフォルトでは、これらの拡張子は移行したコードで使用されます。

設定可能な値は以下のとおりです。

  • =bfloat16: bfloat16 の SYCL* 拡張を無効にします。詳細をご覧ください。

  • =device_info: コンパイラーとバックエンドがサポートする場合、デバイス情報のインテル拡張機能を無効にします。詳細をご覧ください。

  • =enqueued_barriers: エンキューされたバリアの拡張を無効にします。詳細をご覧ください。

  • =peer_access: ピアアクセス拡張機能を無効にします。詳細をご覧ください。

  • =assert: アサート拡張機能を無効にします。詳細をご覧ください。

  • =queue_empty: キュー・エンプティー張機能を無効にします。詳細をご覧ください。

  • =all: このオプションにリストされているすべての拡張機能を無効にします。

--use-dpcpp-extensions=<value>

移行したコードで使用されない拡張子のカンマ区切りのリスト。デフォルトでは、これらの拡張子は移行したコードで使用されます。

  • =c_cxx_standard_library: libdevice ライブラリー (インテル® oneAPI DPC++/C++ コンパイラーが提供) および C/C++ 標準ライブラリーを使用して、SYCL* 標準に対応する機能がない関数を移行します。これを intel_device_math と同時に使用すると、intel_device_math 関数が優先されます。詳細をご覧ください。

  • =intel_device_math: libdevice ライブラリー (インテル® oneAPI DPC++/C++ コンパイラーが提供) の sycl::ext::intel::math 用して、SYCL* 標準に対応する機能がない関数を移行します。詳細をご覧ください。

  • all: このオプションにリストされているすべての拡張機能を有効にします。

--use-experimental-features=<value>

移行したコードで使用されない拡張子のカンマ区切りのリスト。デフォルトでは、実験的な機能は移行したコードでは使用されません。

設定可能な値は以下のとおりです。

  • =bfloat16_math_functions: 実験的な bfloat16 数学関数の使用を許可します。詳細をご覧ください。

  • =bindless_images: バインドレス・イメージ API の使用を可能にする実験的な拡張機能。詳細をご覧ください。

  • =dpl-experimental-api: 実験的な oneDPL API の使用を可能にする拡張機能。詳細をご覧ください。

  • =free-function-queries: iditemnd_itemgroup、および sub_group インスタンスをグローバルに取得できるようにする実験的な拡張機能。詳細をご覧ください。

  • =local-memory-kernel-scope-allocation: カーネルファンクターのスコープで、ローカル・メモリー・オブジェクトの割り当てを可能にする実験的な拡張機能。詳細をご覧ください。

  • =logical-group: wark-item を論理的にグループ化するために使用される実験的なヘルパー関数。詳細については、ヘッダーファイル util.hppdpct::experimental::logical_group を参照してください。

  • =masked-sub-group-operation: マスクを使用して sub-group を操作するために使用される実験的なヘルパー関数。詳細については、ヘッダーファイル util.hppdpct::experimental::select_from_sub_groupdpct::experimental::shift_sub_group_leftdpct::experimental::shift_sub_group_right および dpct::experimental::shift_sub_group_right を参照してください。

  • =matrix: 実験的な joint_matrix クラスなどの行列拡張の使用を可能にする実験的な拡張機能。詳細をご覧ください。

  • =nd_range_barrier: 移行時にグループ間の同期を支援する実験的なヘルパー関数を使用します。詳細については、ヘッダーファイル util.hppdpct::experimental::nd_range_barrier を参照してください。

  • =occupancy-calculation: 占有率の計算に使用される実験的なヘルパー関数を使用します。詳細については、ヘッダーファイル util.hppdpct::experimental::calculate_max_active_wg_per_xecoredpct::experimental::calculate_max_potential_wg を参照してください。

  • =user-defined-reductions: ユーザー定義のリダクションを可能にする実験的な拡張機能を使用します。詳細をご覧ください。

  • =non-uniform-groups: 非均一グループの使用を可能にする実験的な拡張機能。詳細をご覧ください。

  • =device_global: C++ グローバル変数に似た構文を使用してカーネル内でアクセスできる、SYCL* へのデバイス・スコープ・メモリー割り当てを可能にする実験的な拡張機能。詳細をご覧ください。

  • =all: このオプションにリストされているすべて実験的拡張を有効にします。