2019 yılının Mayıs ayında sunulan Windows 10 güncellemesiyle birlikte DirectX 12 kütüphanesinde yerini alan DirectML, öbür DirectX geliştirmeleri ve güncellemelerinden daha farklı bir alana yönelik yayınlanıyor: Makine tahsili.
DirectML, algoritma ve programlama paradigmalarını tanımlamak için makine tahsili alanında kullanılmak üzere Microsoft tarafınca geliştirildi. Bu API, GPU’da tek tip bir yapı yardımıyla çıkarım modellerinin (inference models) işlenmesini hızlandırmaya çalışıyor. DirectML’de DXR üzere donanımın bunu nasıl yapması gerektiği anlatılmıyor. Burada programcıya düşen sırf kodlarını yazmak ve şoförlerin uygun biçimde işlemesine müsaade vermek.
Evvelce makine tahsili denilince epeyce sayıda işlemciye sahip bilgisayarlar akla gelirdi. Ama vakit ortasında GPU’ların aşikâr başlı süreçlerde kıymetli ölçüde kuvvetli olduğu ortaya çıktı ve merkezi işlemcilerin pabucu dama atılmaya başlandı. Bilhassa bunda 2017 yılında NVIDIA tarafınca tanıtılan Volta mimarili GPU’lar ve bu GPU’larla birlikte piyasaya sunulan Tensor çekirdekleri büyük ölçüde tesirli oldu.
Tensor çekirdekleri, biroldukca büyük sayıya sahip olan sayı kümelerini rahatça işlemek ve tensör süreçlerini yönetim etmek için geliştirilmiş bir donanımsal yapıdır. Tensör matematiği bu alanda en hayli çıkarım modellerinde (inference models) pek değerli bir yere sahip olan hudut ağlarının işlenmesinde kullanılıyor.
DirectML’yi kullanmak için ekran kartınızla birlikte gelen rastgele bir Tensor çekirdeğine gerek yok. Hatta ve hatta bir GPU’ya bile gereksiniminiz bulunmuyor. Aslında Directüç boyutlu 12’nin özelliklerinden biri olan meta komutları (meta commands) yardımıyla donanım üreticilerinin aygıtlarındaki birtakım özelliklerin kullanılması mümkün oluyor. bu biçimdece DirectML bundan faydalanarak donanım üzerinde süreçler yapabiliyor.
Her ne kadar DirectML’nin GPU gerektirmediğini söylesek de (daha doğrusu komutların işlendiği donanımla rastgele bir bağı bulunmaz), meta komutları GPU’nun yaptıklarını yapmak için eşsiz bir yol kullanmaya imkan tanıyor. NVIDIA’nın Volta, Turing ve Ampere mimarili GPU’ları kelam konusu olduğunda meta komutlarının yanlışsız ayarlanmasına bağlı olarak Tensor çekirdekleri devreye girip matematiksel süreçleri yapmaya başlıyor. Şayet meta komutlar düzgün bir biçimde ayarlanmamışsa, GPU’lar shader’ları olağan çekirdeklerde çalıştırmaya devam ederler. Bunları da kullanamadığınız durumda CPU devreye girer.
Evet, bunların hepsi pek hoş lakin teoriyi bir kenara bırakalım. Geliştiriciler DirectML ile ne yapabilir ki diye düşünebilirsiniz. En sıradaninden üç noktada epey büyük yararı dokunuyor.
DLSS sıradançe bir oyunun daha düşük çözünürlükte çalışmasını sağlıyor lakin kareleri daha yüksek bir çözünürlükte sunuyor. bu biçimdece gerçeğe nazaran biraz daha düşük çözünürlüğün bütün performans avantajlarından faydalanıyor. Buna, Blu-ray oynatıcıların DVD sineması HD’ye dönüştürürken yaptığı yükseltme sürecine misal biçimde çalışan bir teknoloji diyebiliriz.
Lakin imaj işlemede hudut ağları sayesinde piksellerin renkleri, objelerin nereye yöneldiği ve nerede oldukları daha hakikat bir biçimde cevaplanıp işlenerek, halihazırda var olan teknolojiden daha kaliteli bir sonuç elde edilebilir. DLSS üzere teknolojiler esasen başarılı sonuçlar vermekte ama DirectML’nin de bu alanda değerlendirildiğinde epey büyük potansiyele sahip olduğunu söyleyebiliriz.
Harika Resolution adı verilen bu ana teknoloji DXR’dan ağır bir biçimde faydalanan oyunlarda bilhassa tesirli olacak. Çünkü imgelerin kalitesinin yükseltilmesi esnasında geliştiriciler tarafınca yapılan optimizasyonlardan ötürü ortaya çıkan “gürültüler” de büyük ölçüde çarçabuk düzeltilebilecek diye düşünüyoruz.
Bütün bunlar bir yana, çerçeve (frame) çözünürlüğünün düşürülmesiyle birlikte sahneye gölgelendiricilerin uygulanması için daha az ışın kullanılacak. Bu sayede ışın izleme performansı da fazlaca daha uygun olacak diyebiliriz. Çünkü daha az çözünürlük daha az piksel ve daha az ışının takibi manasına geliyor. Bu adımların daha sonrasındasında kalitenin de yükseltilmesiyle birlikte kareler ortadaki farkın anlaşılması mümkün olmayacak derecede, hatta yerine nazaran epeyce daha kaliteli bir biçimde bizlere sunuluyor.
Soldaki denoise edilmeyen, sağdaki ise denoise edilmiş manzara. – Görsel Kaynağı: TechSpot
Özetle DirectML teknolojisi devasa yükseklikte verimlilikte denoising (gürültü azaltma, bozukluk azaltma) süreçlerinde kullanılabilir. Bu sayede imaj kalitesi etkilenmeden daha az ışınla daha yeterli performans elde edilebilir. Üstte yer alan imgede solda piksel başına yalnızca birincil ışınların kullanıldığı, sağda ise tıpkı manzaranın Intel’in hudut ağları sayesinde optimize ettiği Open Image Denoiser ile düzeltilmiş ışın izlemeli halini görüyorsunuz. Ortadaki fark inanılmaz.
Bu makine tahsili API’si birinci çıktığı günden bu yana iki adet büyük güncelleme ve biroldukca ek süreç ile birlikte yeni data çeşitlerine yönelik takviye aldı. DXR’a kıyasla şu anda piyasada bulunan rastgele bir oyun DirectML teknolojisini kullanmıyor lakin kesinlikle ki oyun geliştiricilerinin gözünden bu büyük performans yararı kaçmayacaktır diye düşünüyoruz.
DirectML, algoritma ve programlama paradigmalarını tanımlamak için makine tahsili alanında kullanılmak üzere Microsoft tarafınca geliştirildi. Bu API, GPU’da tek tip bir yapı yardımıyla çıkarım modellerinin (inference models) işlenmesini hızlandırmaya çalışıyor. DirectML’de DXR üzere donanımın bunu nasıl yapması gerektiği anlatılmıyor. Burada programcıya düşen sırf kodlarını yazmak ve şoförlerin uygun biçimde işlemesine müsaade vermek.
Evvelce makine tahsili denilince epeyce sayıda işlemciye sahip bilgisayarlar akla gelirdi. Ama vakit ortasında GPU’ların aşikâr başlı süreçlerde kıymetli ölçüde kuvvetli olduğu ortaya çıktı ve merkezi işlemcilerin pabucu dama atılmaya başlandı. Bilhassa bunda 2017 yılında NVIDIA tarafınca tanıtılan Volta mimarili GPU’lar ve bu GPU’larla birlikte piyasaya sunulan Tensor çekirdekleri büyük ölçüde tesirli oldu.
Tensor çekirdekleri, biroldukca büyük sayıya sahip olan sayı kümelerini rahatça işlemek ve tensör süreçlerini yönetim etmek için geliştirilmiş bir donanımsal yapıdır. Tensör matematiği bu alanda en hayli çıkarım modellerinde (inference models) pek değerli bir yere sahip olan hudut ağlarının işlenmesinde kullanılıyor.
DirectML’yi kullanmak için ekran kartınızla birlikte gelen rastgele bir Tensor çekirdeğine gerek yok. Hatta ve hatta bir GPU’ya bile gereksiniminiz bulunmuyor. Aslında Directüç boyutlu 12’nin özelliklerinden biri olan meta komutları (meta commands) yardımıyla donanım üreticilerinin aygıtlarındaki birtakım özelliklerin kullanılması mümkün oluyor. bu biçimdece DirectML bundan faydalanarak donanım üzerinde süreçler yapabiliyor.
Her ne kadar DirectML’nin GPU gerektirmediğini söylesek de (daha doğrusu komutların işlendiği donanımla rastgele bir bağı bulunmaz), meta komutları GPU’nun yaptıklarını yapmak için eşsiz bir yol kullanmaya imkan tanıyor. NVIDIA’nın Volta, Turing ve Ampere mimarili GPU’ları kelam konusu olduğunda meta komutlarının yanlışsız ayarlanmasına bağlı olarak Tensor çekirdekleri devreye girip matematiksel süreçleri yapmaya başlıyor. Şayet meta komutlar düzgün bir biçimde ayarlanmamışsa, GPU’lar shader’ları olağan çekirdeklerde çalıştırmaya devam ederler. Bunları da kullanamadığınız durumda CPU devreye girer.
Evet, bunların hepsi pek hoş lakin teoriyi bir kenara bırakalım. Geliştiriciler DirectML ile ne yapabilir ki diye düşünebilirsiniz. En sıradaninden üç noktada epey büyük yararı dokunuyor.
- Kenar yumuşatma (Anti-Aliasing)
- Ölçeklendirme ve “süper çözünürlük”.
- Gürültüden arındırma (Denoising)
DLSS sıradançe bir oyunun daha düşük çözünürlükte çalışmasını sağlıyor lakin kareleri daha yüksek bir çözünürlükte sunuyor. bu biçimdece gerçeğe nazaran biraz daha düşük çözünürlüğün bütün performans avantajlarından faydalanıyor. Buna, Blu-ray oynatıcıların DVD sineması HD’ye dönüştürürken yaptığı yükseltme sürecine misal biçimde çalışan bir teknoloji diyebiliriz.
Lakin imaj işlemede hudut ağları sayesinde piksellerin renkleri, objelerin nereye yöneldiği ve nerede oldukları daha hakikat bir biçimde cevaplanıp işlenerek, halihazırda var olan teknolojiden daha kaliteli bir sonuç elde edilebilir. DLSS üzere teknolojiler esasen başarılı sonuçlar vermekte ama DirectML’nin de bu alanda değerlendirildiğinde epey büyük potansiyele sahip olduğunu söyleyebiliriz.
Harika Resolution adı verilen bu ana teknoloji DXR’dan ağır bir biçimde faydalanan oyunlarda bilhassa tesirli olacak. Çünkü imgelerin kalitesinin yükseltilmesi esnasında geliştiriciler tarafınca yapılan optimizasyonlardan ötürü ortaya çıkan “gürültüler” de büyük ölçüde çarçabuk düzeltilebilecek diye düşünüyoruz.
Bütün bunlar bir yana, çerçeve (frame) çözünürlüğünün düşürülmesiyle birlikte sahneye gölgelendiricilerin uygulanması için daha az ışın kullanılacak. Bu sayede ışın izleme performansı da fazlaca daha uygun olacak diyebiliriz. Çünkü daha az çözünürlük daha az piksel ve daha az ışının takibi manasına geliyor. Bu adımların daha sonrasındasında kalitenin de yükseltilmesiyle birlikte kareler ortadaki farkın anlaşılması mümkün olmayacak derecede, hatta yerine nazaran epeyce daha kaliteli bir biçimde bizlere sunuluyor.
Soldaki denoise edilmeyen, sağdaki ise denoise edilmiş manzara. – Görsel Kaynağı: TechSpot
Özetle DirectML teknolojisi devasa yükseklikte verimlilikte denoising (gürültü azaltma, bozukluk azaltma) süreçlerinde kullanılabilir. Bu sayede imaj kalitesi etkilenmeden daha az ışınla daha yeterli performans elde edilebilir. Üstte yer alan imgede solda piksel başına yalnızca birincil ışınların kullanıldığı, sağda ise tıpkı manzaranın Intel’in hudut ağları sayesinde optimize ettiği Open Image Denoiser ile düzeltilmiş ışın izlemeli halini görüyorsunuz. Ortadaki fark inanılmaz.
Bu makine tahsili API’si birinci çıktığı günden bu yana iki adet büyük güncelleme ve biroldukca ek süreç ile birlikte yeni data çeşitlerine yönelik takviye aldı. DXR’a kıyasla şu anda piyasada bulunan rastgele bir oyun DirectML teknolojisini kullanmıyor lakin kesinlikle ki oyun geliştiricilerinin gözünden bu büyük performans yararı kaçmayacaktır diye düşünüyoruz.