DirectML 機能レベルの履歴

DirectML の一般的なバージョン履歴については、「DirectML のバージョン履歴」を参照してください。

DML_FEATURE_LEVEL_6_2

バージョン 1.13.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類を追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ACTIVATION_HARD_SWISH
  • DML_OPERATOR_ACTIVATION_SWISH
  • DML_OPERATOR_AVERAGE_POOLING1
  • DML_OPERATOR_LP_POOLING1
  • DML_OPERATOR_MATRIX_MULTIPLY_INTEGER_TO_FLOAT
  • DML_OPERATOR_QUANTIZED_LINEAR_AVERAGE_POOLING

DML_OPERATOR_TYPE に記載されている、次の演算子の拡張データ型のサポート。 DML_FEATURE_LEVEL_6_2 で追加された特定のサポートの詳細については、各演算子の構造に関するトピックを参照してください。

  • DML_OPERATOR_RESAMPLE2

次の演算子に対して ZeroPointTensor を省略可能にしました。

  • DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR
  • DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR

小さなテンソルのコンテンツを必要とするコンパイル時の最適化を有効にする新しいグラフ ノード タイプの DML_GRAPH_NODE_TYPE_CONSTANT を追加しました。

DML_FEATURE_LEVEL_6_1

DirectML バージョン 1.12.0 で導入されました。

以下に示す演算子の種類については、DML_OPERATOR_TYPE に載されています。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_MULTIHEAD_ATTENTION を追加しました。
  • DML_OPERATOR_GEMMFusedActivation では、DML_OPERATOR_ACTIVATION_SOFTMAXDML_OPERATOR_ACTIVATION_SOFTMAX1 がサポートされるようになりました。

DML_FEATURE_LEVEL_6_0

DirectML バージョン 1.11.0 で導入されました。

以下に示す演算子の種類については、DML_OPERATOR_TYPE に載されています。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_DIVIDEDML_OPERATOR_ELEMENT_WISE_MODULUS_FLOOR、および DML_OPERATOR_ELEMENT_WISE_MODULUS_TRUNCATE の UINT64 および INT64 データ型のサポートが追加されました。
  • DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEARScaleTensor に FLOAT16 データ型のサポートが追加されました。
  • DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEARScaleTensor および OutputTensor に FLOAT16 データ型のサポートが追加されました。
  • サポートされる融合されたアクティブ化リストに DML_OPERATOR_ELEMENT_WISE_CLIP 演算子が追加されました。

DML_FEATURE_LEVEL_5_2

DirectML バージョン 1.10.0 で導入されました。

以下に示す演算子の種類については、DML_OPERATOR_TYPE に載されています。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

テンソル寸法の範囲は、次のパラメータで 1 から 4 に増加しました。

  • DML_OPERATOR_MATRIX_MULTIPLY_INTEGERBZeroPointTensor パラメーター。
  • DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTIONFilterScaleTensor パラメーター。

ScaleTensorBiasTensor は、次の演算子に対して相互に独立して null にすることができます。

  • DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION
  • DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1

DML_FEATURE_LEVEL_5_1

DirectML バージョン 1.9.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類を追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ACTIVATION_GELU
  • DML_OPERATOR_ACTIVATION_SOFTMAX1
  • DML_OPERATOR_ACTIVATION_LOG_SOFTMAX1
  • DML_OPERATOR_ACTIVATION_HARDMAX1
  • DML_OPERATOR_RESAMPLE2
  • DML_OPERATOR_RESAMPLE_GRAD1
  • DML_OPERATOR_DIAGONAL_MATRIX1

DML_OPERATOR_TYPE に記載されている、次の演算子の拡張データ型のサポート。 DML_FEATURE_LEVEL_5_1 で追加された特定のサポートの詳細については、各演算子の構造に関するトピックを参照してください。

  • DML_OPERATOR_ACTIVATION_RELU
  • DML_OPERATOR_ACTIVATION_RELU_GRAD
  • DML_OPERATOR_ACTIVATION_PARAMETERIZED_RELU
  • DML_OPERATOR_ELEMENT_WISE_ADD
  • DML_OPERATOR_ELEMENT_WISE_DIVIDE
  • DML_OPERATOR_ELEMENT_WISE_MULTIPLY
  • DML_OPERATOR_ELEMENT_WISE_SUBTRACT
  • DML_OPERATOR_DIAGONAL_MATRIX

DML_FEATURE_LEVEL_5_0

DirectML バージョン 1.8.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類を追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_CLIP1
  • DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD1
  • DML_OPERATOR_ELEMENT_WISE_NEGATE
  • DML_OPERATOR_PADDING1

DML_OPERATOR_TYPE に記載されている、次の演算子の拡張データ型のサポート。 DML_FEATURE_LEVEL_5_0 で追加された特定のサポートの詳細については、各演算子の構造に関するトピックを参照してください。

  • DML_OPERATOR_CUMULATIVE_PRODUCT
  • DML_OPERATOR_CUMULATIVE_SUMMATION
  • DML_OPERATOR_DEPTH_TO_SPACE
  • DML_OPERATOR_DEPTH_TO_SPACE1
  • DML_OPERATOR_ELEMENT_WISE_CLIP
  • DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD
  • DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD1
  • DML_OPERATOR_ELEMENT_WISE_CLIP1
  • DML_OPERATOR_ELEMENT_WISE_IF
  • DML_OPERATOR_ELEMENT_WISE_MAX
  • DML_OPERATOR_ELEMENT_WISE_MIN
  • DML_OPERATOR_ELEMENT_WISE_NEGATE
  • DML_OPERATOR_FILL_VALUE_SEQUENCE
  • DML_OPERATOR_MAX_POOLING
  • DML_OPERATOR_MAX_POOLING1
  • DML_OPERATOR_MAX_POOLING2
  • DML_OPERATOR_MAX_UNPOOLING
  • DML_OPERATOR_PADDING
  • DML_OPERATOR_PADDING1
  • DML_OPERATOR_REDUCE、次のいずれかの reduce 関数を使用する場合です。
    • DML_REDUCE_FUNCTION_L1
    • DML_REDUCE_FUNCTION_MAX
    • DML_REDUCE_FUNCTION_MIN
    • DML_REDUCE_FUNCTION_MULTIPLY
    • DML_REDUCE_FUNCTION_SUM
    • DML_REDUCE_FUNCTION_SUM_SQUARE
  • DML_OPERATOR_REVERSE_SUBSEQUENCES
  • DML_OPERATOR_ROI_ALIGN
  • DML_OPERATOR_ROI_ALIGN1
  • DML_OPERATOR_SPACE_TO_DEPTH
  • DML_OPERATOR_SPACE_TO_DEPTH1
  • DML_OPERATOR_TOP_K
  • DML_OPERATOR_TOP_K1

DML_FEATURE_LEVEL_4_1

DirectML バージョン 1.7.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類を追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ROI_ALIGN_GRAD
  • DML_OPERATOR_BATCH_NORMALIZATION_TRAINING
  • DML_OPERATOR_BATCH_NORMALIZATION_TRAINING_GRAD

DML_OPERATOR_TYPE に記載されている、次の演算子の拡張データ型のサポート。 DML_FEATURE_LEVEL_4_1 で追加された特定のサポートの詳細については、各演算子の構造に関するトピックを参照してください。

  • DML_OPERATOR_ELEMENT_WISE_IDENTITY
  • DML_OPERATOR_ELEMENT_WISE_ADD
  • DML_OPERATOR_ELEMENT_WISE_SUBTRACT
  • DML_OPERATOR_ELEMENT_WISE_MULTIPLY
  • DML_OPERATOR_ELEMENT_WISE_ABS
  • DML_OPERATOR_ELEMENT_WISE_SIGN
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_EQUALS
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL
  • DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_LEFT
  • DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_RIGHT
  • DML_OPERATOR_ELEMENT_WISE_BIT_AND
  • DML_OPERATOR_ELEMENT_WISE_BIT_OR
  • DML_OPERATOR_ELEMENT_WISE_BIT_NOT
  • DML_OPERATOR_ELEMENT_WISE_BIT_XOR
  • DML_OPERATOR_ELEMENT_WISE_BIT_COUNT
  • DML_OPERATOR_ARGMIN
  • DML_OPERATOR_ARGMAX
  • DML_OPERATOR_CAST
  • DML_OPERATOR_SLICE
  • DML_OPERATOR_SLICE1
  • DML_OPERATOR_SLICE_GRAD
  • DML_OPERATOR_SPLIT
  • DML_OPERATOR_JOIN
  • DML_OPERATOR_GATHER
  • DML_OPERATOR_GATHER_ELEMENTS
  • DML_OPERATOR_GATHER_ND
  • DML_OPERATOR_GATHER_ND1
  • DML_OPERATOR_SCATTER
  • DML_OPERATOR_SCATTER_ND
  • DML_OPERATOR_FILL_VALUE_CONSTANT
  • DML_OPERATOR_TILE
  • DML_OPERATOR_ONE_HOT

DML_FEATURE_LEVEL_4_0

DirectML バージョン 1.6.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類のサポートを追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_QUANTIZED_LINEAR_ADD
  • DML_OPERATOR_DYNAMIC_QUANTIZE_LINEAR
  • DML_OPERATOR_ROI_ALIGN1

DML_OPERATOR_TYPE に記載されている、次の演算子の拡張データ型とディメンション数のサポート。 DML_FEATURE_LEVEL_4_0 で追加された特定のサポートの詳細については、各演算子の構造に関するトピックを参照してください。

  • DML_OPERATOR_ACTIVATION_RELU_GRAD
  • DML_OPERATOR_ADAM_OPTIMIZER
  • DML_OPERATOR_CONVOLUTION
  • DML_OPERATOR_CONVOLUTION_INTEGER
  • DML_OPERATOR_CUMULATIVE_PRODUCT
  • DML_OPERATOR_CUMULATIVE_SUMMATION
  • DML_OPERATOR_DIAGONAL_MATRIX
  • DML_OPERATOR_FILL_VALUE_CONSTANT
  • DML_OPERATOR_FILL_VALUE_SEQUENCE
  • DML_OPERATOR_GEMM
  • DML_OPERATOR_MATRIX_MULTIPLY_INTEGER
  • DML_OPERATOR_MAX_POOLING_GRAD
  • DML_OPERATOR_NONZERO_COORDINATES
  • DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTION
  • DML_OPERATOR_QUANTIZED_LINEAR_MATRIX_MULTIPLY
  • DML_OPERATOR_RANDOM_GENERATOR
  • DML_OPERATOR_REVERSE_SUBSEQUENCES

DML_FEATURE_LEVEL_3_1

DirectML バージョン 1.5.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類のサポートを追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_ATAN_YX
  • DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD
  • DML_OPERATOR_ELEMENT_WISE_DIFFERENCE_SQUARE
  • DML_OPERATOR_LOCAL_RESPONSE_NORMALIZATION_GRAD
  • DML_OPERATOR_CUMULATIVE_PRODUCT
  • DML_OPERATOR_BATCH_NORMALIZATION_GRAD

次の演算子でサポートされているディメンションの最大数が 4 から 8 に増加しました。

  • DML_OPERATOR_BATCH_NORMALIZATION
  • DML_OPERATOR_CAST
  • DML_OPERATOR_JOIN
  • DML_OPERATOR_LP_NORMALIZATION
  • DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1
  • DML_OPERATOR_PADDING
  • DML_OPERATOR_ACTIVATION_RELU_GRAD
  • DML_OPERATOR_SLICE_GRAD
  • DML_OPERATOR_TILE
  • DML_OPERATOR_TOP_K
  • DML_OPERATOR_TOP_K1

DML_FEATURE_LEVEL_3_0

DirectML バージョン 1.4.0 で導入されました。

DML_OPERATOR_TYPE に記載されている次の演算子の種類のサポートを追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_BIT_AND
  • DML_OPERATOR_ELEMENT_WISE_BIT_OR
  • DML_OPERATOR_ELEMENT_WISE_BIT_XOR
  • DML_OPERATOR_ELEMENT_WISE_BIT_NOT
  • DML_OPERATOR_ELEMENT_WISE_BIT_COUNT
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL
  • DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL
  • DML_OPERATOR_ACTIVATION_CELU
  • DML_OPERATOR_ACTIVATION_RELU_GRAD
  • DML_OPERATOR_AVERAGE_POOLING_GRAD
  • DML_OPERATOR_MAX_POOLING_GRAD
  • DML_OPERATOR_RANDOM_GENERATOR
  • DML_OPERATOR_NONZERO_COORDINATES
  • DML_OPERATOR_RESAMPLE_GRAD
  • DML_OPERATOR_SLICE_GRAD
  • DML_OPERATOR_ADAM_OPTIMIZER
  • DML_OPERATOR_ARGMIN
  • DML_OPERATOR_ARGMAX
  • DML_OPERATOR_ROI_ALIGN
  • DML_OPERATOR_GATHER_ND1

次の機能強化が追加されました。

  • テンソル寸法の最大数が 5 から 8 に増加しました。 「DML_TENSOR_DIMENSION_COUNT_MAX1」を参照してください。
  • 整数データ型のサポートが、次の演算子に追加されました。
    • DML_OPERATOR_ELEMENT_WISE_POW
    • DML_OPERATOR_ELEMENT_WISE_CONSTANT_POW
    • DML_OPERATOR_MAX_POOLINGDML_OPERATOR_MAX_POOLING1、および DML_OPERATOR_MAX_POOLING2
    • DML_OPERATOR_REDUCEDML_REDUCE_FUNCTION_ARGMIN または DML_REDUCE_FUNCTION_ARGMAX を使用する場合
  • 次の 64 ビット データ型が追加され、select 演算子でサポートされています。
    • DML_TENSOR_DATA_TYPE_FLOAT64
    • DML_TENSOR_DATA_TYPE_UINT64
    • DML_TENSOR_DATA_TYPE_INT64

非推奨の機能

  • DML_REDUCE_FUNCTION_ARGMAXDML_REDUCE_FUNCTION_ARGMIN は非推奨になりました。 スタンドアロンの DML_OPERATOR_ARGMIN 演算子と DML_OPERATOR_ARGMAX 演算子を代わりに使用する必要があります。

DML_FEATURE_LEVEL_2_1

DirectML バージョン 1.2.0 で導入されました。

次の API が追加されています。

DML_OPERATOR_TYPE に記載されている次の演算子の種類のサポートを追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_LEFT
  • DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_RIGHT
  • DML_OPERATOR_ELEMENT_WISE_ROUND
  • DML_OPERATOR_ELEMENT_WISE_IS_INFINITY
  • DML_OPERATOR_ELEMENT_WISE_MODULUS_TRUNCATE
  • DML_OPERATOR_ELEMENT_WISE_MODULUS_FLOOR
  • DML_OPERATOR_FILL_VALUE_CONSTANT
  • DML_OPERATOR_FILL_VALUE_SEQUENCE
  • DML_OPERATOR_CUMULATIVE_SUMMATION
  • DML_OPERATOR_REVERSE_SUBSEQUENCES
  • DML_OPERATOR_GATHER_ELEMENTS
  • DML_OPERATOR_GATHER_ND
  • DML_OPERATOR_SCATTER_ND
  • DML_OPERATOR_MAX_POOLING2
  • DML_OPERATOR_SLICE1
  • DML_OPERATOR_TOP_K1
  • DML_OPERATOR_DEPTH_TO_SPACE1
  • DML_OPERATOR_SPACE_TO_DEPTH1
  • DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1
  • DML_OPERATOR_RESAMPLE1
  • DML_OPERATOR_MATRIX_MULTIPLY_INTEGER
  • DML_OPERATOR_QUANTIZED_LINEAR_MATRIX_MULTIPLY
  • DML_OPERATOR_CONVOLUTION_INTEGER
  • DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTION

次の機能強化が追加されました。

  • 整数データ型のサポートが、次の演算子に追加されました。
    • DML_OPERATOR_ELEMENT_WISE_IDENTITY
    • DML_OPERATOR_ELEMENT_WISE_ABS
    • DML_OPERATOR_ELEMENT_WISE_ADD
    • DML_OPERATOR_ELEMENT_WISE_CLIP
    • DML_OPERATOR_ELEMENT_WISE_DIVIDE
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_EQUALS
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN
    • DML_OPERATOR_ELEMENT_WISE_MAX
    • DML_OPERATOR_ELEMENT_WISE_MEAN
    • DML_OPERATOR_ELEMENT_WISE_MIN
    • DML_OPERATOR_ELEMENT_WISE_MULTIPLY
    • DML_OPERATOR_ELEMENT_WISE_SUBTRACT
    • DML_OPERATOR_ELEMENT_WISE_THRESHOLD
    • DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR
    • DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR
    • DML_OPERATOR_ELEMENT_WISE_SIGN
    • DML_OPERATOR_ELEMENT_WISE_IF
    • DML_OPERATOR_ACTIVATION_SHRINK
    • DML_OPERATOR_PADDING
    • DML_OPERATOR_GATHER
    • DML_OPERATOR_SCATTER
    • DML_OPERATOR_DEPTH_TO_SPACE
    • DML_OPERATOR_SPACE_TO_DEPTH
    • DML_OPERATOR_TILE
    • DML_OPERATOR_TOP_KDML_OPERATOR_TOP_K1
    • DML_OPERATOR_ONE_HOT
    • DML_OPERATOR_REDUCE、次のいずれかの reduce 関数を使用する場合です。
      • DML_REDUCE_FUNCTION_ARGMIN
      • DML_REDUCE_FUNCTION_ARGMAX
      • DML_REDUCE_FUNCTION_MAX
      • DML_REDUCE_FUNCTION_MIN
      • DML_REDUCE_FUNCTION_MULTIPLY
      • DML_REDUCE_FUNCTION_SUM
  • DML_OPERATOR_GATHER の緩和されたテンソル形状の制限

DML_FEATURE_LEVEL_2_0

DirectML バージョン 1.1.0 で導入されました。

次の API が追加されています。

DML_OPERATOR_TYPE に記載されている次の演算子の種類のサポートを追加しました。 演算子の種類の定数ごとに、そのトピックは対応する構造体へのリンクを提供します。

  • DML_OPERATOR_ELEMENT_WISE_SIGN
  • DML_OPERATOR_ELEMENT_WISE_IS_NAN
  • DML_OPERATOR_ELEMENT_WISE_ERF
  • DML_OPERATOR_ELEMENT_WISE_SINH
  • DML_OPERATOR_ELEMENT_WISE_COSH
  • DML_OPERATOR_ELEMENT_WISE_TANH
  • DML_OPERATOR_ELEMENT_WISE_ASINH
  • DML_OPERATOR_ELEMENT_WISE_ACOSH
  • DML_OPERATOR_ELEMENT_WISE_ATANH
  • DML_OPERATOR_ELEMENT_WISE_IF
  • DML_OPERATOR_ELEMENT_WISE_ADD1
  • DML_OPERATOR_ACTIVATION_SHRINK
  • DML_OPERATOR_MAX_POOLING1
  • DML_OPERATOR_MAX_UNPOOLING
  • DML_OPERATOR_DIAGONAL_MATRIX
  • DML_OPERATOR_SCATTER_ELEMENTS
  • DML_OPERATOR_SCATTER
  • DML_OPERATOR_ONE_HOT
  • DML_OPERATOR_RESAMPLE

次の機能強化が追加されました。

  • IDMLOperatorInitializer のディスパッチ用に入力リソースをバインドする場合、適切なヒープ プロパティも設定されている限り、(D3D12_HEAP_TYPE_DEFAULT に加えて) D3D12_HEAP_TYPE_CUSTOM を持つリソースを提供することが有効になりました。 「DirectML でのバインド」を参照してください。
  • 次の論理ブール演算子は、UINT32 の既存のサポートに加えて、UINT8 出力テンソルをサポートするようになりました。
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_AND
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_EQUALS
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_NOT
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_OR
    • DML_OPERATOR_ELEMENT_WISE_LOGICAL_XOR
  • 5D アクティベーション関数では、入力テンソルと出力テンソルでのストライドの使用がサポートされるようになりました。

DML_FEATURE_LEVEL_1_0

DirectML が導入された機能レベル。

関連項目