Freigeben über


DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC-Struktur (directml.h)

Führt eine Matrixmultiplikationsfunktion für ganzzahlige Daten aus.

Dieser Operator erfordert, dass die Matrix-Multiplikations-Eingabe tensoren 4D sein, die als { BatchCount, ChannelCount, Height, Width }formatiert sind. Der Matrixmultiplikationsoperator führt BatchCount * ChannelCount number of independent matrix multipliications aus.

Wenn beispielsweise ATensorgrößen von { BatchCount, ChannelCount, M, K }hat und BTensorGrößen von { BatchCount, ChannelCount, K, N }hat und OutputTensorgrößen von { BatchCount, ChannelCount, M, N }hat, führt der Matrixmultiplikationsoperator BatchCount * ChannelCount unabhängige Matrixmultiplikationen der Dimensionen {M,K} x {K,N} = {M,N} = {M,N} aus.

Syntax

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

Member

ATensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, der die A-Daten enthält. Die Dimensionen dieses Tensors sollten sein { BatchCount, ChannelCount, M, K }.

AZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Tensor, der die ATensor-Nullpunktdaten enthält. Die erwarteten Dimensionen von AZeroPointTensor sind { 1, 1, 1, 1 } , wenn eine Quantisierung pro Tensor erforderlich ist oder { 1, 1, M, 1 } eine Zeilenquantisierung erforderlich ist. Diese Nullpunktwerte werden zum Dequantisieren der ATensor-Werte verwendet.

BTensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, der die B-Daten enthält. Die Dimensionen dieses Tensors sollten sein { BatchCount, ChannelCount, K, N }.

BZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Tensor, der die BTensor-Nullpunktdaten enthält. Die erwarteten Dimensionen von BZeroPointTensor sind { 1, 1, 1, 1 } , wenn eine Quantisierung pro Tensor erforderlich ist oder { 1, 1, 1, N } eine Quantisierung pro Spalte erforderlich ist. Diese Nullpunktwerte werden zum Dequantisieren der BTensor-Werte verwendet.

OutputTensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, in den die Ergebnisse geschrieben werden sollen. Die Dimensionen dieses Tensors sind { BatchCount, ChannelCount, M, N }.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_2_1eingeführt.

Tensoreinschränkungen

  • ATensor, BTensor und OutputTensor müssen über dasselbe DimensionCount-Objekt verfügen.
  • BTensor und BZeroPointTensor müssen denselben Datentyp aufweisen.
  • ATensor und AZeroPointTensor müssen denselben Datentyp aufweisen.

Tensorunterstützung

DML_FEATURE_LEVEL_5_2 und höher

Tensor Typ Dimensionen Unterstützte Dimensionsanzahl Unterstützte Datentypen
ATensor Eingabe { [BatchCount], [ChannelCount], M, K } 2 bis 4 INT8, UINT8
AZeroPointTensor Optionale Eingabe { [1], [1], AZeroPointCount, [1] } 1 bis 4 INT8, UINT8
BTensor Eingabe { [BatchCount], [ChannelCount], K, N } 2 bis 4 INT8, UINT8
BZeroPointTensor Optionale Eingabe { [1], [1], [1], BZeroPointCount } 1 bis 4 INT8, UINT8
OutputTensor Ausgabe { [BatchCount], [ChannelCount], M, N } 2 bis 4 INT32

DML_FEATURE_LEVEL_4_0 und höher

Tensor Typ Dimensionen Unterstützte Dimensionsanzahl Unterstützte Datentypen
ATensor Eingabe { [BatchCount], [ChannelCount], M, K } 2 bis 4 INT8, UINT8
AZeroPointTensor Optionale Eingabe { [1], [1], AZeroPointCount, [1] } 1 bis 4 INT8, UINT8
BTensor Eingabe { [BatchCount], [ChannelCount], K, N } 2 bis 4 INT8, UINT8
BZeroPointTensor Optionale Eingabe { [1], [1], 1, BZeroPointCount } 2 bis 4 INT8, UINT8
OutputTensor Ausgabe { [BatchCount], [ChannelCount], M, N } 2 bis 4 INT32

DML_FEATURE_LEVEL_2_1 und höher

Tensor Typ Dimensionen Unterstützte Dimensionsanzahl Unterstützte Datentypen
ATensor Eingabe { BatchCount, ChannelCount, M, K } 4 INT8, UINT8
AZeroPointTensor Optionale Eingabe { 1, 1, AZeroPointCount, 1 } 4 INT8, UINT8
BTensor Eingabe { BatchCount, ChannelCount, K, N } 4 INT8, UINT8
BZeroPointTensor Optionale Eingabe { 1, 1, 1, BZeroPointCount } 4 INT8, UINT8
OutputTensor Ausgabe { BatchCount, ChannelCount, M, N } 4 INT32

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile directml.h