Histórico do nível de recurso do DirectML
Para obter o histórico geral de versões do DirectML, consulte Histórico de versões do DirectML.
DML_FEATURE_LEVEL_6_2
Introduzido no DirectML versão 1.13.0.
Adicionados os seguintes tipos de operador, documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
Suporte estendido a tipos de dados para os seguintes operadores, documentado em DML_OPERATOR_TYPE. Para obter detalhes sobre o suporte específico adicionado no DML_FEATURE_LEVEL_6_2, consulte o tópico de estrutura de cada operador.
- DML_OPERATOR_RESAMPLE2
ZeroPointTensor tornou-se opcional para os seguintes operadores:
- DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR
- DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR
Adicionado um novo tipo de nó de gráfico DML_GRAPH_NODE_TYPE_CONSTANT para habilitar otimizações de tempo de compilação que exigem conteúdo de pequenos tensores.
DML_FEATURE_LEVEL_6_1
Introduzido no DirectML versão 1.12.0.
Os tipos de operador mencionados abaixo estão documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- Adicionado DML_OPERATOR_MULTIHEAD_ATTENTION.
- DML_OPERATOR_GEMM. FusedActivation agora suporta DML_OPERATOR_ACTIVATION_SOFTMAX e DML_OPERATOR_ACTIVATION_SOFTMAX1.
DML_FEATURE_LEVEL_6_0
Introduzido no DirectML versão 1.11.0.
Os tipos de operador mencionados abaixo estão documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- Adicionado suporte a tipos de dados UINT64 e INT64 para DML_OPERATOR_ELEMENT_WISE_DIVIDE, DML_OPERATOR_ELEMENT_WISE_MODULUS_FLOOR e DML_OPERATOR_ELEMENT_WISE_MODULUS_TRUNCATE.
- Adicionado suporte a tipo de dados FLOAT16 no ScaleTensor para DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR.
- Adicionado suporte ao tipo de dados FLOAT16 em ScaleTensor e OutputTensor para DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR.
- Adicionado o operador DML_OPERATOR_ELEMENT_WISE_CLIP à lista de ativação mesclada suportada.
DML_FEATURE_LEVEL_5_2
Introduzido no DirectML versão 1.10.0.
Os tipos de operador mencionados abaixo estão documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
O intervalo de dimensão do tensor foi aumentado para 1 a 4 para os seguintes parâmetros:
- DML_OPERATOR_MATRIX_MULTIPLY_INTEGER, parâmetro BZeroPointTensor.
- DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTION, parâmetro FilterScaleTensor.
ScaleTensor e BiasTensor podem ser nulos independentes um do outro para os seguintes operadores:
- DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION
- DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1
DML_FEATURE_LEVEL_5_1
Introduzido no DirectML versão 1.9.0.
Adicionados os seguintes tipos de operador, documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
Suporte estendido a tipos de dados para os seguintes operadores, documentado em DML_OPERATOR_TYPE. Para obter detalhes sobre o suporte específico adicionado no DML_FEATURE_LEVEL_5_1, consulte o tópico de estrutura de cada operador.
- 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
Introduzido no DirectML versão 1.8.0.
Adicionados os seguintes tipos de operador, documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- DML_OPERATOR_ELEMENT_WISE_CLIP1
- DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD1
- DML_OPERATOR_ELEMENT_WISE_NEGATE
- DML_OPERATOR_PADDING1
Suporte estendido a tipos de dados para os seguintes operadores, documentado em DML_OPERATOR_TYPE. Para obter detalhes sobre o suporte específico adicionado no DML_FEATURE_LEVEL_5_0, consulte o tópico de estrutura de cada operador.
- 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, ao usar uma das funções de redução a seguir.
- 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
Introduzido no DirectML versão 1.7.0.
Adicionados os seguintes tipos de operador, documentados em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- DML_OPERATOR_ROI_ALIGN_GRAD
- DML_OPERATOR_BATCH_NORMALIZATION_TRAINING
- DML_OPERATOR_BATCH_NORMALIZATION_TRAINING_GRAD
Suporte estendido a tipos de dados para os seguintes operadores, documentado em DML_OPERATOR_TYPE. Para obter detalhes sobre o suporte específico adicionado no DML_FEATURE_LEVEL_4_1, consulte o tópico de estrutura de cada operador.
- 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
Introduzido no DirectML versão 1.6.0.
Adicionado suporte para os seguintes tipos de operador, documentado em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- DML_OPERATOR_ELEMENT_WISE_QUANTIZED_LINEAR_ADD
- DML_OPERATOR_DYNAMIC_QUANTIZE_LINEAR
- DML_OPERATOR_ROI_ALIGN1
Suporte estendido a tipo de dados e contagem de dimensões para os seguintes operadores, documentado em DML_OPERATOR_TYPE. Para obter detalhes sobre o suporte específico adicionado no DML_FEATURE_LEVEL_4_0, consulte o tópico de estrutura de cada operador.
- 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
Introduzido no DirectML versão 1.5.0.
Adicionado suporte para os seguintes tipos de operador, documentado em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
O número máximo de dimensões suportadas para os seguintes operadores aumentou de 4 para 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
Introduzido no DirectML versão 1.4.0.
Adicionado suporte para os seguintes tipos de operador, documentado em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
Adicionados os aprimoramentos a seguir.
- O número máximo de dimensões do tensor foi aumentado de 5 para 8. Veja DML_TENSOR_DIMENSION_COUNT_MAX1.
- Suporte adicional para tipos de dados inteiros foi adicionado aos operadores a seguir.
- DML_OPERATOR_ELEMENT_WISE_POW
- DML_OPERATOR_ELEMENT_WISE_CONSTANT_POW
- DML_OPERATOR_MAX_POOLING, DML_OPERATOR_MAX_POOLING1 e DML_OPERATOR_MAX_POOLING2
- DML_OPERATOR_REDUCE, ao usar DML_REDUCE_FUNCTION_ARGMIN ou DML_REDUCE_FUNCTION_ARGMAX
- Os seguintes tipos de dados de 64 bits foram adicionados e são suportados por operadores selecionados.
- DML_TENSOR_DATA_TYPE_FLOAT64
- DML_TENSOR_DATA_TYPE_UINT64
- DML_TENSOR_DATA_TYPE_INT64
Funcionalidades preteridas.
- DML_REDUCE_FUNCTION_ARGMAX e DML_REDUCE_FUNCTION_ARGMIN foram preteridos. Você deve preferir usar os operadores de DML_OPERATOR_ARGMIN e DML_OPERATOR_ARGMAX autônomos em seu lugar.
DML_FEATURE_LEVEL_2_1
Introduzido no DirectML versão 1.2.0.
Adicionadas as APIs a seguir.
- Interface IDMLDevice1
- Suporte a gráficos de operadores (consulte IDMLDevice1::CompileGraph
Adicionado suporte para os seguintes tipos de operador, documentado em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
Adicionados os aprimoramentos a seguir.
- Suporte adicional para tipos de dados inteiros foi adicionado aos operadores a seguir.
- 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_K e DML_OPERATOR_TOP_K1
- DML_OPERATOR_ONE_HOT
- DML_OPERATOR_REDUCE, ao usar uma das funções de redução a seguir.
- DML_REDUCE_FUNCTION_ARGMIN
- DML_REDUCE_FUNCTION_ARGMAX
- DML_REDUCE_FUNCTION_MAX
- DML_REDUCE_FUNCTION_MIN
- DML_REDUCE_FUNCTION_MULTIPLY
- DML_REDUCE_FUNCTION_SUM
- Restrições de forma de tensor reduzidas para DML_OPERATOR_GATHER
DML_FEATURE_LEVEL_2_0
Introduzido no DirectML versão 1.1.0.
Adicionadas as APIs a seguir.
- Função DMLCreateDevice1
- Enumeração DML_FEATURE_LEVEL
- Consultas no nível do recurso (consulte DML_FEATURE_QUERY_FEATURE_LEVELS)
Adicionado suporte para os seguintes tipos de operador, documentado em DML_OPERATOR_TYPE. Para cada constante de tipo de operador, esse tópico fornece um link para a estrutura correspondente.
- 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
Adicionados os aprimoramentos a seguir.
- Ao vincular um recurso de entrada para expedição de um IDMLOperatorInitializer, agora é válido fornecer um recurso com D3D12_HEAP_TYPE_CUSTOM (além de D3D12_HEAP_TYPE_DEFAULT), desde que as propriedades de heap apropriadas também sejam definidas. Consulte Associação no DirectML.
- Os operadores boolianos lógicos a seguir agora oferecem suporte a tensores de saída UINT8, além do suporte existente para UINT32.
- 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
- As funções de ativação 5D agora dão suporte ao uso de strides em seus tensores de entrada e saída.
DML_FEATURE_LEVEL_1_0
O nível de recurso no qual o DirectML foi introduzido.