WebGPU की खास जानकारी

François Beaufort
François Beaufort

WebGPU एक वेब ग्राफ़िक्स एपीआई है. इससे कई फ़ायदे मिलते हैं. जैसे, एक ही ग्राफ़िक के लिए JavaScript का वर्कलोड काफ़ी कम हो जाता है और मशीन लर्निंग मॉडल के अनुमान में तीन गुना से ज़्यादा सुधार होता है. ऐसा, जीपीयू प्रोग्रामिंग के बेहतर तरीके और उन ऐडवांस सुविधाओं के ऐक्सेस की वजह से होता है जो WebGL में उपलब्ध नहीं हैं.

इस एपीआई को वेब प्लैटफ़ॉर्म को ध्यान में रखकर डिज़ाइन किया गया है. इसमें, सामान्य तौर पर इस्तेमाल होने वाला JavaScript API, प्रॉमिस के साथ इंटिग्रेशन, वीडियो इंपोर्ट करने की सुविधा, और गड़बड़ी के बारे में साफ़ तौर पर बताने वाले मैसेज के साथ डेवलपर के लिए बेहतर अनुभव मिलता है.

WebGPU, W3C के "वेब के लिए GPU" कम्यूनिटी ग्रुप के साथ मिलकर किए गए काम का नतीजा है. इसमें Mozilla, Apple, Intel, और Microsoft जैसी बड़ी कंपनियों का योगदान शामिल है.

ब्राउज़र समर्थन

WebGPU की शुरुआती रिलीज़, Chrome 113 में उपलब्ध कराई गई थी. यह रिलीज़, Vulkan की सुविधा वाले ChromeOS डिवाइसों, Direct3D 12 की सुविधा वाले Windows डिवाइसों, और macOS पर काम करती है. Linux, Android, और मौजूदा प्लैटफ़ॉर्म के लिए, जल्द ही ज़्यादा सहायता उपलब्ध होगी.

WebGPU को Chrome में शुरू में लागू किया गया था. अब इसे Firefox और Safari के लिए भी काम में लिया जा रहा है.

लाइब्रेरी से जुड़ी सहायता

आम तौर पर इस्तेमाल की जाने वाली कई वेबजीएल लाइब्रेरी में, वेबजीपीयू के साथ काम करने की सुविधा पहले से ही लागू है या लागू की जा रही है. इसका मतलब है कि वेबजीपीयू का इस्तेमाल करने के लिए, शायद आपको सिर्फ़ एक लाइन में बदलाव करना पड़े.

  • Babylon.js में WebGPU की पूरी सुविधा काम करती है.
  • PlayCanvas ने WebGPU के साथ काम करने की शुरुआती सुविधा का एलान किया है.
  • TensorFlow.js, ज़्यादातर ऑपरेटर के WebGPU के लिए ऑप्टिमाइज़ किए गए वर्शन के साथ काम करता है.
  • Three.js के लिए, WebGPU की सुविधा पर काम चल रहा है. उदाहरण देखें.

Chromium के लिए Dawn लाइब्रेरी और Firefox के लिए wgpu लाइब्रेरी, दोनों ही स्टैंडअलोन पैकेज के तौर पर उपलब्ध हैं. ये बेहतरीन पोर्टेबिलिटी और काम के लेयर उपलब्ध कराते हैं, जो ऑपरेटिंग सिस्टम के GPU एपीआई को अलग रखते हैं. नेटिव ऐप्लिकेशन में इन लाइब्रेरी का इस्तेमाल करने से, Emscripten और Rust web-sys की मदद से, WASM पर पोर्ट करना आसान हो जाता है.

संसाधन

WebGPU एक अहम टेक्नोलॉजी है. ज़्यादा जानने के लिए, हमारा सुझाव है कि आप इन संसाधनों को देखें: