Compartir a través de


Historial de versiones de DirectML

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 de 0x6000.
    • NTDDI_WIN10_NI Da como resultado una versión de destino de 0x5000.
    • NTDDI_WIN10_CO Da como resultado una versión de destino de 0x4000.
    • NTDDI_WIN10_FE Da como resultado una versión de destino de 0x3000.
    • NTDDI_WIN10_VB Da como resultado una versión de destino de 0x2000.
    • NTDDI_WIN10_19H1 Da como resultado una versión de destino de 0x1000.
    • Si NTDDI_VERSION no está definido, se selecciona la versión de destino más reciente (como si DML_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_VERSIONNTDDI_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.

Consulte también