Compartilhar via


estrutura DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC (directml.h)

Executa uma função de multiplicação de matriz em dados inteiros.

Esse operador exige que os tensores de entrada de multiplicação de matriz sejam 4D, que são formatados como { BatchCount, ChannelCount, Height, Width }. O operador de multiplicação de matriz executará BatchCount * ChannelCount número de multiplicações de matriz independentes.

Por exemplo, se ATensor tiver Tamanhos de { BatchCount, ChannelCount, M, K }e BTensor tiver Tamanhos de { BatchCount, ChannelCount, K, N }e OutputTensor tiver Tamanhos de { BatchCount, ChannelCount, M, N }, o operador de multiplicação de matriz executará multiplicações de matriz independentes BatchCount * ChannelCount das dimensões {M,K} x {K,N} = {M,N}.

Sintaxe

struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
  const DML_TENSOR_DESC *ATensor;
  const DML_TENSOR_DESC *AZeroPointTensor;
  const DML_TENSOR_DESC *BTensor;
  const DML_TENSOR_DESC *BZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

Membros

ATensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados A. As dimensões desse tensor devem ser { BatchCount, ChannelCount, M, K }.

AZeroPointTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Um tensor opcional que contém os dados de ponto zero do ATensor. As dimensões esperadas do AZeroPointTensor serão { 1, 1, 1, 1 } se a quantização por tensor for necessária ou { 1, 1, M, 1 } se a quantização por linha for necessária. Esses valores de ponto zero são usados para desquantizar os valores de ATensor .

BTensor

Tipo: const DML_TENSOR_DESC*

Um tensor que contém os dados B. As dimensões desse tensor devem ser { BatchCount, ChannelCount, K, N }.

BZeroPointTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Um tensor opcional que contém os dados de ponto zero BTensor . As dimensões esperadas do BZeroPointTensor serão { 1, 1, 1, 1 } se a quantização por tensor for necessária ou { 1, 1, 1, N } se a quantização por coluna for necessária. Esses valores de ponto zero são usados para desquantizar os valores de BTensor.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Um tensor no qual gravar os resultados. As dimensões desse tensor são { BatchCount, ChannelCount, M, N }.

Disponibilidade

Esse operador foi introduzido no DML_FEATURE_LEVEL_2_1.

Restrições do Tensor

  • ATensor, BTensor e OutputTensor devem ter o mesmo DimensionCount.
  • BTensor e BZeroPointTensor devem ter o mesmo DataType.
  • ATensor e AZeroPointTensor devem ter o mesmo DataType.

Suporte ao Tensor

DML_FEATURE_LEVEL_5_2 e superior

Tensor Tipo Dimensões Contagens de dimensões com suporte Tipos de dados com suporte
Atensor Entrada { [BatchCount], [ChannelCount], M, K } 2 a 4 INT8, UINT8
AZeroPointTensor Entrada opcional { [1], [1], AZeroPointCount, [1] } 1 a 4 INT8, UINT8
BTensor Entrada { [BatchCount], [ChannelCount], K, N } 2 a 4 INT8, UINT8
BZeroPointTensor Entrada opcional { [1], [1], [1], BZeroPointCount } 1 a 4 INT8, UINT8
OutputTensor Saída { [BatchCount], [ChannelCount], M, N } 2 a 4 INT32

DML_FEATURE_LEVEL_4_0 e superior

Tensor Tipo Dimensões Contagens de dimensões com suporte Tipos de dados com suporte
Atensor Entrada { [BatchCount], [ChannelCount], M, K } 2 a 4 INT8, UINT8
AZeroPointTensor Entrada opcional { [1], [1], AZeroPointCount, [1] } 1 a 4 INT8, UINT8
BTensor Entrada { [BatchCount], [ChannelCount], K, N } 2 a 4 INT8, UINT8
BZeroPointTensor Entrada opcional { [1], [1], 1, BZeroPointCount } 2 a 4 INT8, UINT8
OutputTensor Saída { [BatchCount], [ChannelCount], M, N } 2 a 4 INT32

DML_FEATURE_LEVEL_2_1 e superior

Tensor Tipo Dimensões Contagens de dimensões com suporte Tipos de dados com suporte
Atensor Entrada { BatchCount, ChannelCount, M, K } 4 INT8, UINT8
AZeroPointTensor Entrada opcional { 1, 1, AZeroPointCount, 1 } 4 INT8, UINT8
BTensor Entrada { BatchCount, ChannelCount, K, N } 4 INT8, UINT8
BZeroPointTensor Entrada opcional { 1, 1, 1, BZeroPointCount } 4 INT8, UINT8
OutputTensor Saída { BatchCount, ChannelCount, M, N } 4 INT32

Requisitos

   
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Cabeçalho directml.h