IDMLBindingTable ::BindTemporaryResource, méthode (directml.h)
Lie une mémoire tampon à utiliser comme mémoire de travail temporaire. Vous pouvez déterminer la taille requise de cette plage de mémoires tampons en appelant IDMLDispatchable ::GetBindingProperties.
Si les propriétés de liaison pour IDMLDispatchable spécifient une taille de zéro pour la ressource temporaire, vous pouvez fournir nullptr à cette méthode (ce qui indique qu’aucune ressource à lier). Sinon, une liaison de type DML_BINDING_TYPE_BUFFER doit être fournie qui est au moins aussi grande que la valeur TemporaryResourceSize requise retournée par IDMLDispatchable ::GetBindingProperties.
La ressource temporaire est généralement utilisée comme mémoire de travail pendant l’exécution d’un opérateur. Le contenu d’une ressource temporaire n’a pas besoin d’être défini avant l’exécution. Par exemple, DirectML n’exige pas que vous zéro le contenu de la ressource temporaire avant de lier ou d’exécuter un opérateur.
Vous n’avez pas besoin de conserver le contenu de la mémoire tampon temporaire et votre application est libre de remplacer ou de réutiliser son contenu dès que l’exécution d’un opérateur ou d’un initialiseur se termine sur le GPU. Cela contraste avec une ressource persistante, dont le contenu doit être conservé et la durée de vie prolongée pendant la durée de vie de l’opérateur.
La plage de mémoires tampons fournie à lier en tant que mémoire tampon temporaire doit avoir son décalage de début aligné sur DML_TEMPORARY_BUFFER_ALIGNMENT. Le type du tas sous-jacent à la mémoire tampon doit être D3D12_HEAP_TYPE_DEFAULT.
Syntaxe
void BindTemporaryResource(
[in, optional] const DML_BINDING_DESC *binding
);
Paramètres
[in, optional] binding
Type : const DML_BINDING_DESC*
Pointeur facultatif vers un DML_BINDING_DESC contenant la description d’une ressource de tenseur à lier.
Valeur de retour
None
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | directml.h |
Bibliothèque | DirectML.lib |
DLL | DirectML.dll |