Compartir a través de


estructura D3D12DDI_WAVE_MMA_DATA_0103 (d3d12umddi.h)

Importante

Cierta información se relaciona con un producto de versión preliminar que puede modificarse sustancialmente antes de su publicación comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

La estructura D3D12DDI_WAVE_MMA_DATA_0103 describe la compatibilidad de un controlador para las operaciones de matriz de Direct3D multiplique-accumulate (MMA).

Sintaxis

typedef struct D3D12DDI_WAVE_MMA_DATA_0103 {
  D3D12DDI_WAVE_MMA_INPUT_DATATYPE InputDataType;
  D3D12DDI_WAVE_MMA_DIMENSION      M;
  D3D12DDI_WAVE_MMA_DIMENSION      N;
  BOOL                             Supported;
  UINT                             K;
  D3D12DDI_WAVE_MMA_ACCUM_DATATYPE AccumDataTypes;
  UINT                             RequiredWaveLaneCountMin;
  UINT                             RequiredWaveLaneCountMax;
} D3D12DDI_WAVE_MMA_DATA_0103;

Miembros

InputDataType

[in] Enumeración D3D12DDI_WAVE_MMA_INPUT_DATATYPE que especifica el tipo de los datos de entrada.

M

[in] Enumeración D3D12DDI_WAVE_MMA_DIMENSION que especifica la dimensión de la operación de matriz que corresponde al número de filas de la matriz izquierda.

N

[in] Enumeración D3D12DDI_WAVE_MMA_DIMENSION que especifica la dimensión de la operación de matriz que corresponde al número de columnas de la matriz derecha.

Supported

[out] Se establece en TRUE si el hardware admite las dimensiones de matriz y el tipo de datos especificados; de lo contrario, FALSE.

K

[out] Especifica el tamaño de dimensión compartido admitido por el dispositivo para la combinación dada de M y ((N)). Este valor debe ser un múltiplo par de 16.

AccumDataTypes

[out] Enumeración D3D12DDI_WAVE_MMA_ACCUM_DATATYPE que especifica los tipos de datos de acumulación admitidos.

RequiredWaveLaneCountMin

[out] Número mínimo de carriles de onda necesarios para admitir los intrínsecos de MMA de onda.

RequiredWaveLaneCountMax

[out] Número máximo de carriles de onda que se pueden usar para admitir los intrínsecos de MMA de onda.

Observaciones

La unidad de multiplicación de matriz se define mediante tres dimensiones M, Ny K. Por lo tanto, la unidad de multiplicación de matriz se define como una multiplicación de dos matrices de dimensiones MxK (matriz izquierda) y KxN (matriz derecha) con una matriz resultante de tamaño MxN.

Una implementación de hardware solo puede admitir un valor K para cada combinación de M, Ny InputDataType. Las posibles dimensiones de M y N están restringidas a los valores de enumeración permitidos definidos por D3D12DDI_WAVE_MMA_DIMENSIONM y D3D12DDI_WAVE_MMA_DIMENSIONN. La dimensión K se define como un múltiplo par de 16 proporcionado por el controlador a través de los límites checkFeatureSupport de D3D12_FEATURE_DATA_WAVE_MMA. El valor de K se considera una constante y el controlador debe deshacer los bucles que lo usan, si es posible.

Para obtener más información, vea wave MMA.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11, versión 24H2 (WDDM 3.2)
encabezado de d3d12umddi.h

Consulte también

D3D12DDI_WAVE_MMA_ACCUM_DATATYPE

D3D12DDI_WAVE_MMA_DIMENSION

D3D12DDI_WAVE_MMA_INPUT_DATATYPE