다음을 통해 공유


DirectML 버전 기록

DirectML은 Windows의 시스템 구성 요소로 배포되며 Windows 10 버전 1903(10.0;에서 Windows OS(운영 체제)의 일부로 사용할 수 있습니다. 빌드 18362) 이상.

DirectML 버전 1.4.0부터 DirectML은 독립 실행형 재배포 가능 패키지( Microsoft.AI.DirectML 참조)로도 사용할 수 있습니다. 이 패키지는 고정 버전의 DirectML을 사용하려는 애플리케이션 또는 이전 버전의 Windows 10에서 실행할 때 유용합니다.

DirectML은 의미 체계 버전 관리 규칙을 따릅니다. 즉, 버전 번호는 형식 major.minor.patch을 따릅니다. DirectML의 첫 번째 릴리스에는 1.0.0 버전이 있습니다.

버전 테이블

DirectML 버전 지원되는 기능 수준( DirectML 기능 수준 기록 참조) DML_목표_버전 처음 사용할 수 있는 운영 체제 첫 번째 사용 가능(재배포 가능)
1.15.4 DML_FEATURE_LEVEL_6_4 0x6400 해당 없음(N/A) 다이렉트ML-1.15.4
1.15.3 DML_FEATURE_LEVEL_6_4 0x6400 해당 없음(N/A) 다이렉트ML-1.15.3
1.15.2 DML_FEATURE_LEVEL_6_4 0x6400 해당 없음(N/A) 다이렉트ML-1.15.2
1.15.1 DML_FEATURE_LEVEL_6_4 0x6400 해당 없음(N/A) 다이렉트ML-1.15.1
1.15.0 DML_FEATURE_LEVEL_6_4DML_FEATURE_LEVEL_6_3 0x6400 또는 0x6300 해당 없음(N/A) 다이렉트ML-1.15.0
1.13.1 DML_FEATURE_LEVEL_6_2 0x6200 해당 없음(N/A) 다이렉트ML-1.13.1
1.13.0 DML_FEATURE_LEVEL_6_2 0x6200 해당 없음(N/A) 다이렉트ML-1.13.0
1.12.0 DML_FEATURE_LEVEL_6_1 0x6100 해당 없음(N/A) 다이렉트ML-1.12.0
1.11.0 DML_FEATURE_LEVEL_6_0 0x6000 해당 없음(N/A) 다이렉트ML-1.11.0
1.10.0 DML_FEATURE_LEVEL_5_2 0x5200 해당 없음(N/A) 다이렉트ML-1.10.0
1.9.0 DML_FEATURE_LEVEL_5_1 0x5100 해당 없음(N/A) 다이렉트ML-1.9.0
1.8.0 DML_FEATURE_LEVEL_5_0 0x5000 Windows 11(빌드 10.0.22621; 22H2) 다이렉트ML-1.8.0
1.7.0 DML_FEATURE_LEVEL_4_1 0x4100 해당 없음(N/A) 다이렉트ML-1.7.0
1.6.0 DML_FEATURE_LEVEL_4_0 0x4000 Windows 11(빌드 10.0.22000; 21H2) 다이렉트ML-1.6.0
1.5.0 DML_FEATURE_LEVEL_3_1 0x3100 해당 없음(N/A) 다이렉트ML-1.5.0
1.4.01 DML_FEATURE_LEVEL_3_0 0x3000 해당 없음(N/A) 다이렉트ML-1.4.0
1.1.0 DML_FEATURE_LEVEL_2_0 0x2000 Windows 10 버전 2004(10.0; 빌드 19041)(Windows 10 2020년 5월 업데이트). 일명 "20H1"입니다. 해당 없음(N/A)
1.0.0 DML_FEATURE_LEVEL_1_0 0x1000 Windows 10 버전 1903(10.0; 빌드 18362)(Windows 10 2019년 5월 업데이트). 일명 "19H1"입니다. 해당 없음(N/A)

1 DirectML의 1.2.0 및 1.3.0 중간 릴리스는 널리 제공되지 않았습니다.

DirectML 대상 버전 선택

편의를 위해 헤더 파일의 DirectML.h 특정 기능은 매크로 값 DML_TARGET_VERSION 에 따라 조건부로 선언됩니다. 매크로를 DML_TARGET_VERSION 특정 값으로 설정하면 애플리케이션에서 일부를 DirectML.h 제외할 수 있습니다.

이는 최신 복사본 DirectML.h을 사용하지만 선택한 대상 수준을 초과하는 기능을 사용하려는 시도가 컴파일되지 않도록 하기 때문에 DirectML 이진 파일의 하위 버전을 대상으로 하는 경우에 유용할 수 있습니다. 이 메커니즘은 매크로와 NTDDI_VERSION 유사 합니다(조건부 선언의 경우 매크로 참조).

다음은 매크로에 유효한 값입니다 DML_TARGET_VERSION .

DML_목표_버전 영향
0x6400 1.15.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x6300 1.15.0보다 최신 버전의 DirectML이 필요하거나 DML_FEATURE_LEVEL_6_4 기능이 필요한 기능은 제외DirectML.h됩니다.
0x6200 1.13.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x6100 1.12.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x6000 1.11.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x5200 1.10.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x5100 1.9.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x5000 1.8.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x4100 1.7.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x4000 1.6.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x3100 1.5.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x3000 1.4.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x2000 1.1.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
0x1000 1.0.0보다 최신 버전의 DirectML이 필요한 기능은 제외됩니다DirectML.h.
설정 안 함 대상 버전이 자동으로 선택됩니다. 자세한 내용은 다음을 참조하세요.

설정되지 않은 경우 DML_TARGET_VERSION 다음을 통해 자동으로 선택됩니다.

  • 매크로가 DML_TARGET_VERSION_USE_LATEST 정의되면 최신 대상 버전이 선택됩니다.
  • 그렇지 않으면 매크로 값에 따라 대상 버전이 NTDDI_VERSION 선택됩니다.
    • NTDDI_WIN10_ZN 의 대상 버전 0x6000이 생성됩니다.
    • NTDDI_WIN10_NI 의 대상 버전 0x5000이 생성됩니다.
    • NTDDI_WIN10_CO 의 대상 버전 0x4000이 생성됩니다.
    • NTDDI_WIN10_FE 의 대상 버전 0x3000이 생성됩니다.
    • NTDDI_WIN10_VB 의 대상 버전 0x2000이 생성됩니다.
    • NTDDI_WIN10_19H1 의 대상 버전 0x1000이 생성됩니다.
    • 정의되지 않은 경우 NTDDI_VERSION가 없으면, DML_TARGET_VERSION_USE_LATEST이 지정된 것처럼 최신 대상 버전이 선택됩니다.

예시

Windows SDK(소프트웨어 개발 키트) 버전 10.0.19041.0(Windows 10, 버전 2004)을 사용하는 애플리케이션을 고려합니다. 위의 표에서 이에 해당하는 DirectML 버전은 1.1.0이고 해당 DML_TARGET_VERSION 버전은 1.1.0입니다 0x2000.

DML_TARGET_VERSION 또는 NTDDI_VERSION 매크로를 설정하지 않으면 선택된 대상 버전이 기본값으로 0x2000로 설정되고, DirectML.h의 모든 항목을 사용할 수 있습니다.

Windows 10 버전 1903(10.0; 빌드 18362)에서 애플리케이션이 실행되도록 하려면 DirectML 버전 1.0.0에서 지원되지 않는 #define DML_TARGET_VERSION 0x1000의 모든 콘텐츠를 제외할 DirectML.h수 있습니다. 이렇게 하면 더 큰 버전이 필요한 기능을 사용하려는 시도가 컴파일되지 않습니다.

DirectML 버전과 기능 수준 비교

DirectML 버전(예: 1.0.0 또는 1.4.0)은 연결된 DirectML.h 헤더 파일 및 .lib 파일을 포함하여 DirectML의 특정 릴리스를 설명합니다.

기능 수준(예: DML_FEATURE_LEVEL_1_0또는 DML_FEATURE_LEVEL_2_0)은 사용된 버전 DirectML.h 과 다를 수 있는 API의 기본 구현 기능을 설명합니다.

예를 들어 최신 SDK에 대해 빌드되지만 이전 버전의 Windows에서 실행되는 애플리케이션은 최신 SDK에 대해 컴파일된 경우에도 런타임에 지원되는 기능 수준이 더 낮을 수 있습니다.

참고하십시오