Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
DirectML se distribuye como un componente del sistema de Windows y está disponible como parte del sistema operativo (SO) Windows en Windows 10, versión 1903 (10.0; Compilación 18362) y posteriores.
A partir de la versión 1.4.0 de DirectML, DirectML también está disponible como un paquete redistribuible independiente (consulte Microsoft.AI.DirectML), que es útil para las aplicaciones que desean usar una versión fija de DirectML o cuando se ejecutan en versiones anteriores de Windows 10.
DirectML sigue las convenciones de control de versiones semánticas . Es decir, los números de versión siguen la forma major.minor.patch
. La primera versión de DirectML tiene una versión 1.0.0.
Tabla de versiones
Versión de DirectML | Nivel de característica admitido (consulte Historial de nivel de característica de DirectML) | DML_TARGET_VERSION | Disponible por primera vez en (OS) | Disponible por primera vez en (Redistribuible) |
---|---|---|---|---|
1.15.4 | DML_FEATURE_LEVEL_6_4 | 0x6400 |
No disponible | DirectML-1.15.4 |
1.15.3 | DML_FEATURE_LEVEL_6_4 | 0x6400 |
No disponible | DirectML-1.15.3 |
1.15.2 | DML_FEATURE_LEVEL_6_4 | 0x6400 |
No disponible | DirectML-1.15.2 |
1.15.1 | DML_FEATURE_LEVEL_6_4 | 0x6400 |
No disponible | DirectML-1.15.1 |
1.15.0 | DML_FEATURE_LEVEL_6_4 y DML_FEATURE_LEVEL_6_3 |
0x6400 o 0x6300 |
No disponible | DirectML-1.15.0 |
1.13.1 | DML_FEATURE_LEVEL_6_2 | 0x6200 |
No disponible | DirectML-1.13.1 |
1.13.0 | DML_FEATURE_LEVEL_6_2 | 0x6200 |
No disponible | DirectML-1.13.0 |
1.12.0 | DML_FEATURE_LEVEL_6_1 | 0x6100 |
No disponible | DirectML-1.12.0 |
1.11.0 | DML_FEATURE_LEVEL_6_0 | 0x6000 |
No disponible | DirectML-1.11.0 |
1.10.0 | DML_FEATURE_LEVEL_5_2 | 0x5200 |
No disponible | DirectML-1.10.0 |
1.9.0 | DML_FEATURE_LEVEL_5_1 | 0x5100 |
No disponible | DirectML-1.9.0 |
1.8.0 | DML_FEATURE_LEVEL_5_0 | 0x5000 |
Windows 11 (compilación 10.0.22621; 22H2) | DirectML-1.8.0 |
1.7.0 | DML_FEATURE_LEVEL_4_1 | 0x4100 |
No disponible | DirectML-1.7.0 |
1.6.0 | DML_FEATURE_LEVEL_4_0 | 0x4000 |
Windows 11 (compilación 10.0.22000; 21H2) | DirectML-1.6.0 |
1.5.0 | DML_FEATURE_LEVEL_3_1 | 0x3100 |
No disponible | DirectML-1.5.0 |
1.4.01 | DML_FEATURE_LEVEL_3_0 | 0x3000 |
No disponible | DirectML-1.4.0 |
1.1.0 | DML_FEATURE_LEVEL_2_0 | 0x2000 |
Windows 10, versión 2004 (10.0; Compilación 19041) (actualización de Windows 10 de mayo de 2020). También conocido como "20H1". | No disponible |
1.0.0 | DML_FEATURE_LEVEL_1_0 | 0x1000 |
Windows 10, versión 1903 (10.0; Compilación 18362) (actualización de mayo de 2019 de Windows 10). También conocido como "19H1". | No disponible |
1 Las versiones intermedias 1.2.0 y 1.3.0 de DirectML no estaban disponibles de forma generalizada.
Selección de una versión de destino de DirectML
Para mayor comodidad, ciertas características del archivo de DirectML.h
encabezado se declaran condicionalmente en función del valor de la DML_TARGET_VERSION
macro. Al establecer la DML_TARGET_VERSION
macro en determinados valores, puede excluir partes de DirectML.h
la aplicación.
Esto puede ser útil si usas una copia más reciente de DirectML.h
, pero tienes como destino una versión inferior del binario de DirectML, ya que garantiza que cualquier intento de usar características más allá del nivel de destino elegido no se compilará. Este mecanismo es similar a la NTDDI_VERSION
macro (consulte Macros para declaraciones condicionales).
Estos son los valores válidos para la DML_TARGET_VERSION
macro.
DML_TARGET_VERSION | Efecto |
---|---|
0x6400 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.15.0 se excluye de DirectML.h . |
0x6300 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.15.0, o que sean características DML_FEATURE_LEVEL_6_4 , se excluyen de DirectML.h . |
0x6200 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.13.0 se excluye de DirectML.h . |
0x6100 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.12.0 se excluye de DirectML.h . |
0x6000 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.11.0 se excluye de DirectML.h . |
0x5200 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.10.0 se excluye de DirectML.h . |
0x5100 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.9.0 se excluye de DirectML.h . |
0x5000 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.8.0 se excluye de DirectML.h . |
0x4100 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.7.0 se excluye de DirectML.h . |
0x4000 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.6.0 se excluye de DirectML.h . |
0x3100 |
Las características que requieran una versión de DirectML posterior a la 1.5.0 se excluyen de DirectML.h . |
0x3000 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.4.0 se excluye de DirectML.h . |
0x2000 |
Cualquier característica que requiera una versión de DirectML posterior a la 1.1.0 se excluye de DirectML.h . |
0x1000 |
Las características que requieran una versión de DirectML posterior a la 1.0.0 se excluyen de DirectML.h . |
Sin establecer | La versión de destino se selecciona automáticamente para usted. Para obtener información más detallada, vea a continuación. |
Si DML_TARGET_VERSION
no se establece, se selecciona automáticamente de la siguiente manera.
- Si se define la
DML_TARGET_VERSION_USE_LATEST
macro, se selecciona la versión de destino más reciente. - De lo contrario, la versión de destino se selecciona en función del valor de la
NTDDI_VERSION
macro.-
NTDDI_WIN10_ZN
Da como resultado una versión de destino de0x6000
. -
NTDDI_WIN10_NI
Da como resultado una versión de destino de0x5000
. -
NTDDI_WIN10_CO
Da como resultado una versión de destino de0x4000
. -
NTDDI_WIN10_FE
Da como resultado una versión de destino de0x3000
. -
NTDDI_WIN10_VB
Da como resultado una versión de destino de0x2000
. -
NTDDI_WIN10_19H1
Da como resultado una versión de destino de0x1000
. - Si
NTDDI_VERSION
no está definido, se selecciona la versión de destino más reciente (como siDML_TARGET_VERSION_USE_LATEST
se hubiera especificado).
-
Ejemplo
Considere una aplicación que usa la versión 10.0.19041.0 (Windows 10, versión 2004) del Kit de desarrollo de software (SDK) de Windows. En la tabla anterior, la versión de DirectML a la que corresponde es 1.1.0 y la correspondiente DML_TARGET_VERSION
es 0x2000
.
Si no establece ni las DML_TARGET_VERSION
NTDDI_VERSION
macros ni, la versión de destino seleccionada será de forma predeterminada 0x2000
, y todo lo DirectML.h
que contenga estará disponible para su uso.
Si desea que la aplicación pueda ejecutarse en Windows 10, versión 1903 (10.0; Compilación 18362), entonces podría #define DML_TARGET_VERSION 0x1000
, lo que excluirá todo el contenido DirectML.h
que no sea compatible con la versión 1.0.0 de DirectML. Esto garantiza que cualquier intento de usar la funcionalidad que requiera una versión superior no se podrá compilar.
Versión de DirectML frente al nivel de característica
La versión de DirectML (por ejemplo, 1.0.0 o 1.4.0) describe una versión determinada de DirectML, incluidos el archivo de encabezado y .lib
el archivo asociadosDirectML.h
.
El nivel de característica (por ejemplo, DML_FEATURE_LEVEL_1_0
, o DML_FEATURE_LEVEL_2_0
) describe la capacidad de la implementación subyacente de la API, que puede variar de la versión DirectML.h
utilizada.
Por ejemplo, una aplicación que se compila con un SDK más reciente, pero que se ejecuta en una versión anterior de Windows, podría ver (en tiempo de ejecución) un nivel de característica compatible más bajo, incluso si se compila con el SDK más reciente.