Chrome ekibi, yıllar süren geliştirme çalışmalarının ardından, web'de yüksek performanslı 3D grafiklere ve paralel veri işlemeye olanak tanıyan WebGPU'yu kullanıma sundu.
Chrome ekibi, WebGPU'nun şu anda Beta kanalında bulunan Chrome 113'te varsayılan olarak kullanılabildiğini duyurmanın heyecanını yaşıyor. WebGPU, aynı grafikler için büyük ölçüde azaltılmış JavaScript iş yükü ve makine öğrenimi modeli çıkarımlarında üç kattan fazla iyileştirme gibi önemli avantajlar sunan yeni bir web Graphics API'dir. Bu, daha esnek GPU programlaması ve WebGL'nin sunmadığı gelişmiş özelliklere erişim nedeniyle mümkündür.
WebGPU'nun bu ilk sürümü ChromeOS, macOS ve Windows'da kullanılabilir. Bu yılın ilerleyen dönemlerinde diğer platformlar için de destek sunulacaktır.
Web grafikleri için yeni bir şafak
WebGPU, modern donanım özelliklerini ortaya çıkarmanın yanı sıra Direct3D 12, Metal ve Vulkan'a benzer şekilde GPU üzerinde oluşturma ve hesaplama işlemlerine olanak tanıyan yeni bir web API'sidir. WebGL API ailesinden farklı olarak WebGPU, daha gelişmiş GPU özelliklerine erişim ve GPU üzerinde genel hesaplamalar için birinci sınıf destek sağlar. Bu API, deyimsel JavaScript API'si, vaatlerle entegrasyon, videoları içe aktarma desteği ve harika hata mesajları sunan şık bir geliştirici deneyimi sunan web platformu dikkate alınarak tasarlanmıştır.
WebGPU'nun bu ilk sürümü, gelecekteki güncellemeler ve geliştirmeler için yapı taşı görevi görüyor. API daha gelişmiş grafik özellikleri sunacak ve geliştiricilerin ek özellikler için istek göndermeleri teşvik edilecektir. Chrome ekibi ayrıca, daha fazla makine öğrenimi optimizasyonu ve WebGPU Gölgeleme Dili olan WGSL'de ek ergonomik için gölgelendirici çekirdeklere daha derin erişim sağlamayı da planlamaktadır.
WebGPU; Mozilla, Apple, Intel ve Microsoft gibi büyük şirketlerin katkılarını içeren W3C'nin "GPU for the Web" Topluluk Grubu'nun ortak çalışmasının sonucudur. 2017'deki ilk tasarımda yer alan altı yıllık geliştirme sürecinin (90 katılımcı, 2.000 kayıt, 3.000 sorun) ardından ilk uygulama artık Chrome'da kullanıma sunuldu. Firefox ve Safari desteği de devam ediyor.
Chromium için Dawn kitaplığı ve Firefox için wgpu kitaplığı bağımsız paketler halinde sunulur. Bu kitaplıklar, OS GPU API'lerini soyutlayan mükemmel taşınabilirlik ve ergonomik katmanlar sunar. Yerel uygulamalarda bu kitaplıkların kullanılması, Emscripten ve Rust web-sys üzerinden WASM'ye taşımayı da kolaylaştırır.
Tarayıcı desteği
WebGPU'nun bu ilk sürümü, Vulkan destekli ChromeOS cihazlar, Direct3D 12 desteği olan Windows cihazlar ve macOS'te Chrome 113 için kullanılabilir. Linux, Android ve mevcut platformlar için genişletilmiş destek yakında sunulacaktır.
WebGPU, Chrome'daki ilk uygulamasına ek olarak, Firefox ve Safari'de de halen devam eden bir çalışmadır.
Kitaplık desteği
Yaygın olarak kullanılan birçok WebGL kitaplığı, WebGPU desteğini devreye sokmuş veya zaten bunu yapmış durumda. Bu, WebGPU'yu kullanırken sadece tek bir satırda değişiklik yapılmasını gerektirebileceği anlamına gelir:
- Babylon.js zaten tam WebGPU desteğine sahiptir.
- PlayCanvas, ilk WebGPU desteğini duyurdu.
- TensorFlow.js, çoğu operatörün WebGPU için optimize edilmiş sürümlerini destekler.
- Three.js WebGPU desteği devam ediyor. örnekleri inceleyin.
Kaynaklar
WebGPU önemli bir teknolojidir. Daha fazla bilgi edinmek için aşağıdaki kaynakları öneririz:
- WebGPU ve WGSL için W3C spesifikasyonlarını inceleyin.
- Örneklerle denemeler yapın ve bir tur ile WGSL'yi keşfedin.
- MDN belgelerini inceleyin.
- Resmi açıklama belgesini ve en iyi uygulamaları okuyun.
- GPU hesaplaması ve diğer konular hakkında bilgi edinin.
Tasdik
Bunun gerçekleşmesindeki paha biçilmez destekleri için Chromium'a katkıda bulunan herkese, özellikle de Intel'e çok teşekkür ederiz.