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 bir web grafiği API'sidir. Bu, esnek GPU programlama ve WebGL'nin sağlamadığı gelişmiş özelliklere erişim sayesinde mümkündür.
Web platformu göz önünde bulundurularak tasarlanan API, doğal bir JavaScript API'si, promises ile entegrasyon, video içe aktarma desteği ve net hata mesajları içeren mükemmel bir geliştirici deneyimi sunar.
WebGPU, W3C'nin "Web için GPU" Topluluk Grubu tarafından ortaklaşa yürütülen bir çalışmanın sonucudur. Bu çalışmada Mozilla, Apple, Intel ve Microsoft gibi büyük şirketlerin katkıları yer alır.
Tarayıcı desteği
WebGPU'nun bu ilk sürümü Chrome 113'te, Vulkan destekli ChromeOS cihazlarda, Direct3D 12 desteği olan Windows cihazlarda ve macOS'te kullanıma sunulmuştur. Linux, Android ve mevcut platformlar için genişletilmiş destek yakında kullanıma sunulacaktır.
WebGPU, Chrome'daki ilk uygulamaya ek olarak Firefox ve Safari için de geliştirilmektedir.
Kitaplık desteği
Yaygın olarak kullanılan birçok WebGL kitaplığı, WebGPU desteğini uygulama aşamasında veya zaten bu desteği verdi. Bu, WebGPU için yalnızca tek bir satır değişikliği yapılmasını gerektirebilecek anlamına gelir.
- Babylon.js, tam WebGPU desteği sunar.
- 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 üzerinde çalışılıyor. Örneklere göz atın.
Hem Chromium için Dawn kitaplığı hem de Firefox için wgpu kitaplığı bağımsız paket olarak kullanılabilir. İşletim sistemi GPU API'lerini soyutlayan mükemmel taşınabilirlik ve ergonomik katmanlar sunarlar. Bu kitaplıkları yerel uygulamalarda kullanmak, Emscripten ve Rust web-sys aracılığıyla WASM'e geçişi kolaylaştırır.
Kaynaklar
WebGPU önemli bir teknolojidir. Daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atmanızı öneririz:
- WebGPU ve WGSL için W3C spesifikasyonlarını inceleyin.
- Örnekleri deneyin ve WGSL'yi tur ile keşfedin.
- MDN dokümanlarına bakın.
- Resmi açıklamayı ve en iyi uygulamaları okuyun.
- GPU hesaplama ve diğer konular hakkında bilgi edinin.