Metodo IDMLDevice1::CompileGraph (directml.h)
Compila un grafico di operatori DirectML in un oggetto che può essere inviato alla GPU.
Un operatore compilato rappresenta la forma efficiente e compilata di un operatore adatto per l'esecuzione nella GPU. Un operatore compilato contiene lo stato ,ad esempio shader e altri oggetti, necessari per l'esecuzione. Poiché un operatore compilato implementa l'interfaccia IDMLPageable , è possibile rimuovere uno dalla memoria GPU se si desidera. Per altre informazioni, vedere IDMLDevice1::Evict e IDMLDevice1::MakeResident.
L'operatore compilato non usa né fa riferimento agli oggetti IDMLOperator forniti all'interno della descrizione del grafico dopo che questo metodo restituisce.
Sintassi
HRESULT CompileGraph(
const DML_GRAPH_DESC *desc,
DML_EXECUTION_FLAGS flags,
REFIID riid,
[out] void **ppv
);
Parametri
desc
Tipo: DML_GRAPH_DESC*
Descrizione del grafico da compilare. Vedere DML_GRAPH_DESC.
flags
Tipo: DML_EXECUTION_FLAGS
Qualsiasi flag per controllare l'esecuzione di questo operatore.
riid
Tipo: REFIID
Riferimento all'identificatore univoco globale (GUID) dell'interfaccia da restituire in ppv. Si prevede che il GUID di IDMLCompiledOperator.
[out] ppv
Tipo: void**
Puntatore a un blocco di memoria che riceve un puntatore all'operatore compilato. Si tratta dell'indirizzo di un puntatore a un IDMLCompiledOperator, che rappresenta l'operatore compilato creato.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
L'API grafo dell'operatore DirectML offre un modo astratto per usare DirectML in modo efficiente in diversi hardware. DirectML applica ottimizzazioni a livello di tensore, ad esempio la scelta del layout tensore più efficiente in base all'adattatore in uso. Applica anche ottimizzazioni, ad esempio la rimozione degli operatori Join o Split.
È consigliabile applicare ottimizzazioni di alto livello prima di creare un grafico DirectML. Ad esempio, fusing degli operatori di convoluzione con BatchNorm, riduzione costante e eliminazione comune di sottoespressione. Le ottimizzazioni all'interno dell'utilità di ottimizzazione del grafico di DirectML sono destinate a integrare tali ottimizzazioni indipendenti dal dispositivo, che in genere vengono gestite genericamente dai framework di Machine Learning.
Requisiti
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Piattaforma di destinazione | Windows |
Intestazione | directml.h |
Libreria | DirectML.lib |
DLL | DirectML.dll |