Compartilhar via


estrutura D3D12DDI_WAVE_MMA_DATA_0103 (d3d12umddi.h)

Importante

Algumas informações referem-se a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.

A estrutura D3D12DDI_WAVE_MMA_DATA_0103 descreve o suporte de um driver para operações MMA (matrix-multiply-accumulate) direct3D.

Sintaxe

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;

Membros

InputDataType

[in] Uma enumeração D3D12DDI_WAVE_MMA_INPUT_DATATYPE que especifica o tipo dos dados de entrada.

M

[in] Uma enumeração D3D12DDI_WAVE_MMA_DIMENSION que especifica a dimensão da operação de matriz que corresponde ao número de linhas na matriz esquerda.

N

[in] Uma enumeração D3D12DDI_WAVE_MMA_DIMENSION que especifica a dimensão da operação de matriz que corresponde ao número de colunas na matriz direita.

Supported

[out] Defina como TRUE se o hardware der suporte às dimensões de matriz e ao tipo de dados especificados; caso contrário, FALSE.

K

[out] Especifica o tamanho da dimensão compartilhada compatível com o dispositivo para a combinação fornecida de M e ((N)). Esse valor deve ser um múltiplo par de 16.

AccumDataTypes

[out] A enumeração D3D12DDI_WAVE_MMA_ACCUM_DATATYPE que especifica os tipos de dados de acúmulo com suporte.

RequiredWaveLaneCountMin

[out] O número mínimo de pistas de onda necessárias para apoiar os intrínsecos de MMA de onda.

RequiredWaveLaneCountMax

[out] O número máximo de pistas de onda que podem ser usadas para dar suporte aos intrínsecos de MMA de onda.

Observações

A unidade de multiplicação de matriz é definida por três dimensões M, Ne K. Assim, a unidade de multiplicação de matriz é definida como uma multiplicação de duas matrizes de dimensões MxK (matriz esquerda) e KxN (matriz direita) com uma matriz de tamanho resultante MxN.

Uma implementação de hardware pode dar suporte a apenas um K valor para cada combinação de M, Ne InputDataType. As dimensões possíveis de M e N são restritas aos valores de enumeração permitidos definidos por D3D12DDI_WAVE_MMA_DIMENSIONM e D3D12DDI_WAVE_MMA_DIMENSIONN. A dimensão K é definida como um múltiplo par de 16 fornecidos pelo driver por meio dos caps D3D12_FEATURE_DATA_WAVE_MMA CheckFeatureSupport. O valor K é considerado uma constante e o driver deve cancelar o registro de loops usando-o, se possível.

Para obter mais informações, consulte Wave MMA.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 11, versão 24H2 (WDDM 3.2)
cabeçalho d3d12umddi.h

Consulte também

D3D12DDI_WAVE_MMA_ACCUM_DATATYPE

D3D12DDI_WAVE_MMA_DIMENSION

D3D12DDI_WAVE_MMA_INPUT_DATATYPE