Aracılığıyla paylaş


DirectML sürüm geçmişi

DirectML, Windows'un bir sistem bileşeni olarak dağıtılır ve Windows işletim sisteminin bir parçası olarak Windows 10, sürüm 1903 (10.0; Derleme 18362) ve daha yenilerinde bulunur.

DirectML sürüm 1.4.0'dan başlayarak DirectML, directML'nin sabit bir sürümünü kullanmak isteyen veya Windows 10'un eski sürümlerinde çalışan uygulamalar için kullanışlı olan tek başına yeniden dağıtılabilir paket olarak da kullanılabilir (bkz. Microsoft.AI.DirectML).

DirectML , anlamsal sürüm oluşturma kurallarını izler. Yani, sürüm numaraları biçimindedir major.minor.patch. DirectML'nin ilk sürümü 1.0.0 sürümüne sahiptir.

Sürüm tablosu

DirectML sürümü Desteklenen özellik düzeyi (bkz . DirectML özellik düzeyi geçmişi) DML_TARGET_VERSION İlk olarak (OS) içinde kullanılabilir "İlk kez kullanılabilir olduğunda (Yeniden Dağıtılabilir)"
1.15.4 DML_FEATURE_LEVEL_6_4 0x6400 Mevcut Değil DirectML-1.15.4
1.15.3 DML_FEATURE_LEVEL_6_4 0x6400 Mevcut Değil DirectML-1.15.3 (İngilizce)
1.15.2 DML_FEATURE_LEVEL_6_4 0x6400 Mevcut Değil DirectML-1.15.2
1.15.1 DML_FEATURE_LEVEL_6_4 0x6400 Mevcut Değil DirectML-1.15.1 (İngilizce)
1.15.0 DML_FEATURE_LEVEL_6_4 ve DML_FEATURE_LEVEL_6_3 0x6400 veya 0x6300 Mevcut Değil DirectML-1.15.0
1.13.1 DML_FEATURE_LEVEL_6_2 0x6200 Mevcut Değil DirectML-1.13.1 (İngilizce)
1.13.0 DML_FEATURE_LEVEL_6_2 0x6200 Mevcut Değil DirectML-1.13.0
1.12.0 DML_FEATURE_LEVEL_6_1 0x6100 Mevcut Değil DirectML-1.12.0
1.11.0 DML_FEATURE_LEVEL_6_0 0x6000 Mevcut Değil DirectML-1.11.0
1.10.0 DML_FEATURE_LEVEL_5_2 0x5200 Mevcut Değil DirectML-1.10.0
1.9.0 DML_FEATURE_LEVEL_5_1 0x5100 Mevcut Değil DirectML-1.9.0
1.8.0 DML_FEATURE_LEVEL_5_0 0x5000 Windows 11 (Derleme 10.0.22621; 22H2) DirectML-1.8.0
1.7.0 DML_FEATURE_LEVEL_4_1 0x4100 Mevcut Değil DirectML-1.7.0
1.6.0 DML_FEATURE_LEVEL_4_0 0x4000 Windows 11 (Derleme 10.0.22000; 21H2) DirectML-1.6.0
1.5.0 DML_FEATURE_LEVEL_3_1 0x3100 Mevcut Değil DirectML-1.5.0
1.4.01 DML_FEATURE_LEVEL_3_0 0x3000 Mevcut Değil DirectML-1.4.0
1.1.0 DML_FEATURE_LEVEL_2_0 0x2000 Windows 10, sürüm 2004 (10.0; Derleme 19041) (Windows 10 Mayıs 2020 Güncelleştirmesi). Diğer adıyla "20H1". Mevcut Değil
1.0.0 DML_FEATURE_LEVEL_1_0 0x1000 Windows 10, sürüm 1903 (10.0; Derleme 18362) (Windows 10 Mayıs 2019 Güncelleştirmesi). Diğer adıyla "19H1". Mevcut Değil

1 DirectML'nin 1.2.0 ve 1.3.0 ara sürümleri yaygın olarak kullanıma sunulmadı.

DirectML hedef sürümünü seçme

Kolaylık sağlamak için, üst bilgi dosyasındaki DirectML.h bazı özellikler, makronun DML_TARGET_VERSION değerine bağlı olarak koşullu olarak bildirilir. Makroyu DML_TARGET_VERSION belirli değerlere ayarlayarak, uygulamasının DirectML.h bölümlerini hariç tutabilirsiniz.

Bu, daha yeni bir DirectML.h kopyası kullanıyorsanız, ancak DirectML ikili dosyasının daha düşük bir sürümünü hedefliyorsanız, yararlı olabilir. Çünkü bu, seçilen hedef düzeyin ötesindeki özellikleri kullanma girişimlerinin derlenmemesini sağlar. Bu mekanizma makroya NTDDI_VERSION benzer (bkz. Koşullu bildirimler için makrolar).

Makro için geçerli değerler aşağıdadır DML_TARGET_VERSION .

DML_HEDEF_SÜRÜM Etki
0x6400 DirectML'nin 1.15.0'dan yeni bir sürümünü gerektiren tüm özellikler DirectML.hdışında tutulur.
0x6300 1.15.0'dan daha yeni bir sürümünü gerektiren veya DML_FEATURE_LEVEL_6_4 özellikleri olan herhangi bir özellik, 'den hariç tutulur.
0x6200 DirectML'nin 1.13.0'dan yeni bir sürümünü gerektiren tüm özellikler DirectML.hdan hariç tutulur.
0x6100 DirectML'nin 1.12.0'dan daha yeni bir sürümünü gerektiren özellikler DirectML.hhariç tutulur.
0x6000 DirectML'nin 1.11.0'dan yeni bir sürümünü gerektiren tüm özellikler DirectML.hhariç tutulur.
0x5200 1.10.0'dan daha yeni bir DirectML sürümünü gerektiren tüm özelliklerDirectML.hdışında tutulur.
0x5100 1.9.0'dan daha yeni bir DirectML sürümünü gerektiren özellikler DirectML.h burada yer almaz.
0x5000 DirectML'nin 1.8.0'dan yeni bir sürümünü gerektiren tüm özellikler DirectML.h hariç tutulur.
0x4100 1.7.0'dan daha yeni bir DirectML sürümü gerektiren tüm özellikler DirectML.h'den hariç tutulur.
0x4000 1.6.0'dan daha yeni bir DirectML sürümünü gerektiren tüm özellikler, DirectML.h hariç tutulur.
0x3100 1.5.0'dan daha yeni bir DirectML sürümü gerektiren tüm özellikler DirectML.hhariç tutulur.
0x3000 DirectML'nin 1.4.0'dan daha yeni bir sürümünü gerektiren tüm özellikler DirectML.hhariç tutulur.
0x2000 DirectML'nin 1.1.0'dan yeni bir sürümünü gerektiren tüm özellikler DirectML.h hariç tutulur.
0x1000 1.0.0'dan yeni bir sürümünü gerektiren DirectML'nin tüm özellikleri DirectML.hdışında bırakılır.
Ayarlanmadı Hedef sürüm sizin için otomatik olarak seçilir. Ayrıntılar için aşağıya bakın.

Ayarlanmadıysa DML_TARGET_VERSION, o zaman aşağıdakiler tarafından otomatik olarak seçilir.

  • DML_TARGET_VERSION_USE_LATEST Makro tanımlanmışsa en son hedef sürüm seçilir.
  • Aksi takdirde, hedef sürüm makronun NTDDI_VERSION değerine göre seçilir.
    • NTDDI_WIN10_ZN , hedef sürümüne neden olur 0x6000.
    • NTDDI_WIN10_NI , hedef sürümüne neden olur 0x5000.
    • NTDDI_WIN10_CO , hedef sürümüne neden olur 0x4000.
    • NTDDI_WIN10_FE , hedef sürümüne neden olur 0x3000.
    • NTDDI_WIN10_VB , hedef sürümüne neden olur 0x2000.
    • NTDDI_WIN10_19H1 , hedef sürümüne neden olur 0x1000.
    • Tanımlanmamışsa NTDDI_VERSION , en son hedef sürüm (belirtilmiş gibi DML_TARGET_VERSION_USE_LATEST ) seçilir.

Örnek

Windows Yazılım Geliştirme Seti'nin (SDK) 10.0.19041.0 (Windows 10, sürüm 2004) sürümünü kullanan bir uygulamayı düşünün. Yukarıdaki tablodan, bunun karşılık geldiği DirectML sürümü 1.1.0 ve karşılık gelen DML_TARGET_VERSION ise 0x2000'dir.

Ne de DML_TARGET_VERSIONNTDDI_VERSION makrolarını ayarlamazsanız, seçilen hedef sürüm varsayılan olarak 0x2000olur ve içindeki DirectML.h her şey kullanılabilir.

Eğer uygulamanızın Windows 10, sürüm 1903 (10.0; Derleme 18362) üzerinde çalışabilmesini istiyorsanız, #define DML_TARGET_VERSION 0x1000 yapabilirsiniz, bu da DirectML sürüm 1.0.0 tarafından desteklenmeyen tüm içeriği DirectML.h dışında bırakır. Bu, daha büyük bir sürüm gerektiren işlevleri kullanma girişimlerinin derlenememesini sağlar.

DirectML sürümü ile özellik düzeyi karşılaştırması

DirectML sürümü (örneğin, 1.0.0 veya 1.4.0), ilişkili DirectML.h üst bilgi dosyası ve .lib dosyası dahil olmak üzere belirli bir DirectML sürümünü açıklar.

Özellik düzeyi (örneğin, DML_FEATURE_LEVEL_1_0 veya DML_FEATURE_LEVEL_2_0), API'nin temel alınan uygulamasının yeteneğini açıklar ve bu uygulama, kullanılan DirectML.h sürümünden farklılık gösterebilir.

Örneğin, daha yeni bir SDK'ya karşı derlenen ancak Windows'un eski bir sürümünde çalışan bir uygulama, en son SDK'da derlenmiş olsa bile (çalışma zamanında) daha düşük bir desteklenen özellik düzeyi görebilir.

Ayrıca bakınız