structure D3D12DDI_WAVE_MMA_DATA_0103 (d3d12umddi.h)
Important
Certaines informations se rapportent à un produit de préversion qui peut être sensiblement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
La structure D3D12DDI_WAVE_MMA_DATA_0103 décrit la prise en charge d’un pilote pour les opérations MMA (Matrix-Multiply-Accumulate) Direct3D.
Syntaxe
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;
Membres
InputDataType
[in] Une énumération D3D12DDI_WAVE_MMA_INPUT_DATATYPE qui spécifie le type des données d’entrée.
M
[in] Une énumération D3D12DDI_WAVE_MMA_DIMENSION qui spécifie la dimension de l’opération de matrice qui correspond au nombre de lignes dans la matrice de gauche.
N
[in] Une énumération D3D12DDI_WAVE_MMA_DIMENSION qui spécifie la dimension de l’opération de matrice qui correspond au nombre de colonnes dans la matrice de droite.
Supported
[out] Défini sur TRUE si le matériel prend en charge les dimensions de matrice et le type de données spécifiés ; sinon, FALSE.
K
[out] Spécifie la taille de dimension partagée prise en charge par l’appareil pour la combinaison donnée de M et ((N)). Cette valeur doit être un multiple pair de 16.
AccumDataTypes
[out] Le D3D12DDI_WAVE_MMA_ACCUM_DATATYPE énumération qui spécifie les types de données d’accumulation pris en charge.
RequiredWaveLaneCountMin
[out] Nombre minimal de voies de vagues requises pour prendre en charge l’intrinsèque MMA de vague.
RequiredWaveLaneCountMax
[out] Nombre maximal de voies de vagues qui peuvent être utilisées pour prendre en charge les intrinsèques MMA d’onde.
Remarques
L’unité de multiplication matricielle est définie par trois dimensions M, N et K. L’unité de multiplication de matrice est donc définie comme une multiplication de deux matrices de dimensions MxK (matrice de gauche) et KxN (matrice de droite) avec une matrice de taille MxN résultante.
Une implémentation matérielle ne peut prendre en charge qu’une seule valeur K pour chaque combinaison de M, N et InputDataType. Les dimensions possibles de M et N sont limitées aux valeurs d’énumération autorisées définies par D3D12DDI_WAVE_MMA_DIMENSIONM et D3D12DDI_WAVE_MMA_DIMENSIONN. La dimension K est définie comme un multiple pair de 16 fourni par le pilote par le biais des D3D12_FEATURE_DATA_WAVE_MMA capuchons CheckFeatureSupport. La valeur K est considérée comme une constante et le pilote doit dérouler des boucles à l’aide de celle-ci, si possible.
Pour plus d’informations, consultez Wave MMA.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11, version 24H2 (WDDM 3.2) |
En-tête | d3d12umddi.h |