IDMLDevice1 interface (directml.h)

Represents a DirectML device, which is used to create operators, binding tables, command recorders, and other objects. The IDMLDevice1 interface inherits from IDMLDevice.

A DirectML device is always associated with exactly one underlying Direct3D 12 device. All objects created by the DirectML device maintain a strong reference to their parent device. Unlike the Direct3D 12 device, the DML device is not a singleton. Therefore, it's possible to create multiple DirectML devices over the same Direct3D 12 device. However, this isn't recommended as the DirectML device has no mutable state, so there's little advantage to creating multiple DML devices over the same Direct3D 12 device.

This object is thread-safe.

Availability

This API was introduced in DirectML version 1.1.0.

Tensor constraints

Target Platform: Windows

Inheritance

The IDMLDevice1 interface inherits from the IDMLDevice interface.

Methods

The IDMLDevice1 interface has these methods.

 
IDMLDevice1::CompileGraph

Compiles a graph of DirectML operators into an object that can be dispatched to the GPU.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Target Platform Windows
Header directml.h

See also

IDMLDevice interface