Partager via


DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC structure (directml.h)

Exécute une fonction de multiplication de matrice sur les données entières.

Cet opérateur nécessite que les tenseurs d’entrée de multiplication de matrice soient 4D, qui sont au { BatchCount, ChannelCount, Height, Width }format . L’opérateur de multiplication de matrice effectue BatchCount * ChannelCount nombre de multiplications de matrice indépendantes.

Par exemple, si ATensor a Sizes de { BatchCount, ChannelCount, M, K }, et BTensor a Sizes de { BatchCount, ChannelCount, K, N }et OutputTensor a Sizes de , l’opérateur de multiplication de { BatchCount, ChannelCount, M, N }matrice effectue des multiplications de matrice indépendantes BatchCount * ChannelCount de dimensions {M,K} x {K,N} = {M,N}.

Syntaxe

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;
};

Membres

ATensor

Type : const DML_TENSOR_DESC*

Tenseur contenant les données A. Les dimensions de ce tenseur doivent être { BatchCount, ChannelCount, M, K }.

AZeroPointTensor

Type : _Maybenull_ const DML_TENSOR_DESC*

Tenseur facultatif contenant les données de point zéro ATensor. Les dimensions attendues du sont { 1, 1, 1, 1 } si la AZeroPointTensor quantisation par tenseur est requise, ou { 1, 1, M, 1 } si la quantisation par ligne est requise. Ces valeurs de point zéro sont utilisées pour la dequantisation des valeurs ATensor .

BTensor

Type : const DML_TENSOR_DESC*

Tenseur contenant les données B. Les dimensions de ce tenseur doivent être { BatchCount, ChannelCount, K, N }.

BZeroPointTensor

Type : _Maybenull_ const DML_TENSOR_DESC*

Tenseur facultatif contenant les données de point zéro BTensor . Les dimensions attendues du sont { 1, 1, 1, 1 } si la BZeroPointTensor quantisation par tenseur est requise, ou { 1, 1, 1, N } si la quantisation par colonne est requise. Ces valeurs de point zéro sont utilisées pour déquantifier les valeurs BTensor.

OutputTensor

Type : const DML_TENSOR_DESC*

Tenseur dans lequel écrire les résultats. Les dimensions de ce tenseur sont { BatchCount, ChannelCount, M, N }.

Disponibilité

Cet opérateur a été introduit dans DML_FEATURE_LEVEL_2_1.

Contraintes tensoriels

  • ATensor, BTensor et OutputTensor doivent avoir le même DimensionCount.
  • BTensor et BZeroPointTensor doivent avoir le même DataType.
  • ATensor et AZeroPointTensor doivent avoir le même DataType.

Prise en charge des tenseurs

DML_FEATURE_LEVEL_5_2 et versions ultérieures

Tenseur Type Dimensions Nombre de dimensions pris en charge Types de données pris en charge
ATensor Entrée { [BatchCount], [ChannelCount], M, K } 2 à 4 INT8, UINT8
AZeroPointTensor Entrée facultative { [1], [1], AZeroPointCount, [1] } 1 à 4 INT8, UINT8
BTensor Entrée { [BatchCount], [ChannelCount], K, N } 2 à 4 INT8, UINT8
BZeroPointTensor Entrée facultative { [1], [1], [1], BZeroPointCount } 1 à 4 INT8, UINT8
OutputTensor Output { [BatchCount], [ChannelCount], M, N } 2 à 4 INT32

DML_FEATURE_LEVEL_4_0 et versions ultérieures

Tenseur Type Dimensions Nombre de dimensions pris en charge Types de données pris en charge
ATensor Entrée { [BatchCount], [ChannelCount], M, K } 2 à 4 INT8, UINT8
AZeroPointTensor Entrée facultative { [1], [1], AZeroPointCount, [1] } 1 à 4 INT8, UINT8
BTensor Entrée { [BatchCount], [ChannelCount], K, N } 2 à 4 INT8, UINT8
BZeroPointTensor Entrée facultative { [1], [1], 1, BZeroPointCount } 2 à 4 INT8, UINT8
OutputTensor Output { [BatchCount], [ChannelCount], M, N } 2 à 4 INT32

DML_FEATURE_LEVEL_2_1 et versions ultérieures

Tenseur Type Dimensions Nombre de dimensions pris en charge Types de données pris en charge
ATensor Entrée { BatchCount, ChannelCount, M, K } 4 INT8, UINT8
AZeroPointTensor Entrée facultative { 1, 1, AZeroPointCount, 1 } 4 INT8, UINT8
BTensor Entrée { BatchCount, ChannelCount, K, N } 4 INT8, UINT8
BZeroPointTensor Entrée facultative { 1, 1, 1, BZeroPointCount } 4 INT8, UINT8
OutputTensor Output { BatchCount, ChannelCount, M, N } 4 INT32

Spécifications

   
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
En-tête directml.h