প্রকাশিত: ২৬ ফেব্রুয়ারি, ২০২৫
সাবগ্রুপের মাধ্যমে মেশিন লার্নিং ওয়ার্কলোড উন্নত করা
এক বছর ধরে ডেভেলপমেন্ট ও ট্রায়াল চালানোর পরে, সাবগ্রুপ WebGPU ফিচার এখন উপলভ্য। এটি SIMD-লেভেল প্যারালালিজম চালু করে। এটি ওয়ার্কগ্রুপের থ্রেডগুলিকে যোগাযোগ করতে এবং সংখ্যাগুলির যোগফল গণনা করার মতো গণিত সংক্রান্ত অপারেশনগুলি একসাথে এক্সিকিউট করতে দেয় এবং ক্রস-থ্রেড ডেটা শেয়ারিংয়ের জন্য একটি কার্যকর পদ্ধতি অফার করে। মূল প্রস্তাব ও chromestatus এন্ট্রি দেখুন।
রেফারেন্সের জন্য, অরিজিন ট্রায়াল চলাকালীন কিছু ডিভাইসে ম্যাট্রিক্স-ভেক্টর মাল্টিপ্লাই শেডারের জন্য প্যাক করা পূর্ণসংখ্যা ডট প্রোডাক্ট-এর বিরুদ্ধে সাবগ্রুপ বেঞ্চমার্ক করার সময় Google Meet-এর স্পিড ২.৩-২.৯ গুণ বেড়েছে।
GPUAdapter-এ "subgroups" ফিচার উপলভ্য থাকলে, WGSL-এ সাবগ্রুপের সহায়তা পেতে এই ফিচার সহ GPUDevice-এর অনুরোধ করুন। subgroupMinSize এবং subgroupMaxSize অ্যাডাপ্টার সংক্রান্ত তথ্যের ভ্যালু চেক করা সহায়ক—যেমন, আপনার যদি কোনও হার্ডকোডেড অ্যালগরিদম থাকে যার জন্য নির্দিষ্ট সাইজের সাবগ্রুপ প্রয়োজন।
এছাড়াও, কম্পিউট ও ফ্র্যাগমেন্ট শেডার স্টেজে নিম্নলিখিত বিল্ট-ইন ভ্যালু অ্যাক্সেস করতে, আপনাকে enable subgroups; ব্যবহার করে WGSL কোডে এই এক্সটেনশনটি স্পষ্টভাবে চালু করতে হবে:
subgroup_invocation_id: সাবগ্রুপের মধ্যে থ্রেডের ইন্ডেক্সের জন্য বিল্ট-ইন ভ্যালু।subgroup_size: সাবগ্রুপের সাইজ অ্যাক্সেসের জন্য বিল্ট-ইন ভ্যালু।
বিল্ট-ইন সাবগ্রুপ ফাংশন (যেমন, subgroupAdd(), subgroupBallot(), subgroupBroadcast(), subgroupShuffle()) সাবগ্রুপের মধ্যে ইনভোকেশনগুলির মধ্যে কার্যকর যোগাযোগ ও গণনা করতে সাহায্য করে। এইসব সাবগ্রুপ অপারেশনকে সিঙ্গেল-ইনস্ট্রাকশন মাল্টিপল-থ্রেড (SIMT) অপারেশন হিসেবে শ্রেণীবদ্ধ করা হয়। এছাড়াও, কোয়াড বিল্ট-ইন ফাংশন, যা ইনভোকেশনের কোয়াড-এ কাজ করে, তা কোয়াডের মধ্যে ডেটা কমিউনিকেশন সহজ করে তোলে।
আপনি "shader-f16" ও "subgroups" ফিচার সহ GPUDevice-এর অনুরোধ করলে, সাবগ্রুপের সাথে f16 ভ্যালু ব্যবহার করতে পারবেন।
সাবগ্রুপ এক্সপ্লোর করার জন্য নিম্নলিখিত নমুনাটি একটি ভাল সূচনা পয়েন্ট: এটি এমন একটি শেডার দেখায় যা মধ্যবর্তী ফলাফল কমিউনিকেট করার জন্য মেমরি রিড বা রাইট না করেই ফ্যাক্টোরিয়াল কম্পিউট করার জন্য subgroupExclusiveMul() বিল্ট-ইন ফাংশন ব্যবহার করে।
ব্লেন্ড করা যায় এমন ফ্লোট ফিল্টার করা যায় এমন টেক্সচার টাইপের সহায়তা সরিয়ে দেওয়া
"float32-blendable" ফিচারের সাথে ৩২-বিট ফ্লোট টেক্সচার ব্লেন্ডিং উপলভ্য হওয়ায়, ফ্লোট ফিল্টার করা যায় এমন টেক্সচারের ধরনকে ব্লেন্ড করা যায় হিসেবে ভুলভাবে দেখানো সংক্রান্ত সহায়তা সরিয়ে দেওয়া হয়েছে। সমস্যা 364987733 দেখুন।
ভোরের আপডেট
Dawn-এর জন্য এখন macOS 11 ও iOS 14 প্রয়োজন এবং এটি শুধুমাত্র Metal 2.3+ ভার্সনে কাজ করে। issue 381117827 দেখুন।
wgpu::Instance-এর নতুন GetWGSLLanguageFeatures() পদ্ধতি এখন EnumerateWGSLLanguageFeatures()-এর পরিবর্তে ব্যবহার করা হয়। সমস্যা 368672124 দেখুন।
নিচের বাইন্ডিং ধরনের Undefined ভ্যালু আছে এবং বাইন্ডিং লেআউটে তাদের ডিফল্ট ভ্যালু পরিবর্তন করা হয়েছে। issue 377820810 দেখুন।
wgpu::BufferBindingType::UndefinedএখনUniformহয়ে গেছেwgpu::SamplerBindingType::UndefinedএখনFilteringহয়ে গেছেwgpu::TextureSampleType::UndefinedএখনFloatহয়ে গেছেwgpu::StorageTextureAccess::UndefinedএখনWriteOnly
এতে শুধু কিছু গুরুত্বপূর্ণ হাইলাইট কভার করা হয়েছে। কমিটের বিস্তারিত তালিকা দেখুন।
WebGPU-তে নতুন কী কী আছে
WebGPU-তে নতুন কী কী আছে সিরিজে যা যা কভার করা হয়েছে তার একটি তালিকা।
Chrome 155-156
- WGSL fragment_depth এক্সটেনশন
- টেক্সচার কম্প্রেশন অ্যালাইন করা নেই
- srgb-লিনিয়ার ও ডিসপ্লে-p3-লিনিয়ার কালার স্পেস
- অতিরিক্ত snorm10-10-10-2 ভার্টেক্স ফর্ম্যাট
- NVIDIA-এর জন্য Linux-এ f16 সহায়তা
- ভোরের আপডেট
Chrome 153-154
Chrome 151-152
Chrome 149-150
Chrome 147-148
Chrome 146
- OpenGL ES 3.1-এ WebGPU মানানসই মোড কাজ করে
- ক্ষণস্থায়ী অ্যাটাচমেন্ট
- WGSL texture_and_sampler_let এক্সটেনশন
- ভোরের আপডেট
Chrome 145
- WGSL subgroup_uniformity এক্সটেনশন
- ওয়ার্কারদের মধ্যে পরীক্ষামূলক সিঙ্ক্রোনাস বাফার ম্যাপিং
- ভোরের আপডেট
Chrome 144
- WGSL subgroup_id এক্সটেনশন
- WGSL uniform_buffer_standard_layout এক্সটেনশন
- Linux-এ WebGPU
- আরও দ্রুত writeBuffer ও writeTexture
- ভোরের আপডেট
Chrome 143
Chrome 142
Chrome 141
- Tint IR সম্পূর্ণ হয়েছে
- WGSL কম্পাইলারে পূর্ণসংখ্যা রেঞ্জ বিশ্লেষণ
- Vulkan ব্যাকএন্ডের জন্য SPIR-V 1.4 আপডেট
- ভোরের আপডেট
Chrome 140
- ডিভাইস অনুরোধ অ্যাডাপ্টার ব্যবহার করে
- টেক্সচার ভিউ ব্যবহার করা হয় এমন জায়গায় টেক্সচার ব্যবহারের জন্য সংক্ষিপ্ত নাম
- WGSL textureSampleLevel 1D টেক্সচার কাজ করে
- bgra8unorm রিড-অনলি স্টোরেজ টেক্সচার ব্যবহার করা বন্ধ করা
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউট সরিয়ে দিন
- ভোরের আপডেট
Chrome 139
- BC ও ASTC কম্প্রেসড ফর্ম্যাটের জন্য 3D টেক্সচার সাপোর্ট
- নতুন "কোর-ফিচার-ও-সীমা" ফিচার
- WebGPU কম্প্যাটিবিলিটি মোডের জন্য অরিজিন ট্রায়াল
- ভোরের আপডেট
Chrome 138
- বাইন্ডিং রিসোর্স হিসেবে বাফার ব্যবহার করার জন্য সংক্ষিপ্ত নাম
- তৈরি করার সময় ম্যাপ করা বাফার সংক্রান্ত সাইজের প্রয়োজনীয়তায় পরিবর্তন
- সাম্প্রতিক GPU-এর জন্য আর্কিটেকচার রিপোর্ট
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউট বন্ধ করা
- ভোরের আপডেট
Chrome 137
- externalTexture বাইন্ডিংয়ের জন্য texture view ব্যবহার করা
- অফসেট ও সাইজ নির্দিষ্ট না করেই বাফার কপি করা
- WGSL workgroupUniformLoad অ্যাটমিকের পয়েন্টার ব্যবহার করে
- GPUAdapterInfo powerPreference অ্যাট্রিবিউট
- GPURequestAdapterOptions compatibilityMode অ্যাট্রিবিউট সরিয়ে দিন
- ভোরের আপডেট
Chrome 136
- GPUAdapterInfo isFallbackAdapter অ্যাট্রিবিউট
- D3D12-এ শেডার কম্পাইলেশন টাইম সংক্রান্ত উন্নতি
- ক্যানভাসের ছবি সেভ ও কপি করা
- লিফ্ট কম্প্যাটিবিলিটি মোড সংক্রান্ত বিধিনিষেধ
- ভোরের আপডেট
Chrome 135
- নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরি করার অনুমতি দিন
- রেন্ডার টার্গেটের সীমার বাইরে ভিউপোর্টকে এক্সটেন্ড করার অনুমতি দিন
- Android-এ পরীক্ষামূলক কম্প্যাটিবিলিটি মোড আরও সহজে অ্যাক্সেস করা
- maxInterStageShaderComponents সীমা সরিয়ে দিন
- ভোরের আপডেট
Chrome 134
- সাবগ্রুপের মাধ্যমে মেশিন লার্নিং ওয়ার্কলোড উন্নত করা
- ব্লেন্ড করা যায় এমন হিসেবে ফ্লোট ফিল্টার করা যায় এমন টেক্সচার টাইপ সংক্রান্ত সহায়তা সরিয়ে দিন
- ভোরের আপডেট
Chrome 133
- অতিরিক্ত unorm8x4-bgra এবং ১-কম্পোনেন্ট ভার্টেক্স ফর্ম্যাট
- অনির্দিষ্ট ভ্যালু সহ অজানা সীমা অনুরোধ করার অনুমতি দিন
- WGSL অ্যালাইনমেন্ট সংক্রান্ত নিয়মে পরিবর্তন
- ডিসকার্ডের মাধ্যমে WGSL পারফর্ম্যান্সের উন্নতি
- এক্সটার্নাল টেক্সচারের জন্য VideoFrame displaySize ব্যবহার করা
- copyExternalImageToTexture ব্যবহার করে ডিফল্ট ওরিয়েন্টেশন নেই এমন ছবি ম্যানেজ করা
- ডেভেলপার অভিজ্ঞতা উন্নত করা
- featureLevel-এর সাথে কম্প্যাটিবিলিটি মোড চালু করুন
- পরীক্ষামূলক সাবগ্রুপ ফিচার ক্লিন-আপ
- maxInterStageShaderComponents সীমা বাতিল করা
- ভোরের আপডেট
Chrome 132
- টেক্সচার ভিউয়ের ব্যবহার
- ৩২-বিট ফ্লোট টেক্সচার ব্লেন্ডিং
- GPUDevice adapterInfo অ্যাট্রিবিউট
- ভুল ফর্ম্যাট সহ ক্যানভাসের প্রসঙ্গ কনফিগার করলে জাভাস্ক্রিপ্ট সংক্রান্ত সমস্যা হয়
- টেক্সচারের উপর স্যাম্পলার ফিল্টার করা সংক্রান্ত বিধিনিষেধ
- সাবগ্রুপ নিয়ে দীর্ঘমেয়াদী পরীক্ষা
- ডেভেলপার অভিজ্ঞতা উন্নত করা
- ১৬-বিট স্বাভাবিক টেক্সচার ফর্ম্যাটের জন্য পরীক্ষামূলক সহায়তা
- ভোরের আপডেট
Chrome 131
- WGSL-এ ক্লিপ দূরত্ব
- GPUCanvasContext getConfiguration()
- পয়েন্ট ও লাইন প্রিমিটিভের ডেপথ বায়াস থাকলে চলবে না
- সাবগ্রুপের জন্য অন্তর্ভূক্ত স্ক্যান বিল্ট-ইন ফাংশন
- মাল্টি-ড্র ইনডাইরেক্টের জন্য এক্সপেরিমেন্টাল সহায়তা
- শেডার মডিউল কম্পাইলেশন বিকল্প স্ট্রিক্ট ম্যাথ
- GPUAdapter requestAdapterInfo() সরিয়ে দিন
- ভোরের আপডেট
Chrome 130
- ডুয়াল সোর্স ব্লেন্ডিং
- Metal-এ শেডার কম্পাইলেশন টাইম ইমপ্রুভমেন্ট
- GPUAdapter requestAdapterInfo() বন্ধ হয়ে যাওয়া
- ভোরের আপডেট
Chrome 129
Chrome 128
- সাবগ্রুপ নিয়ে পরীক্ষা করা
- লাইন ও পয়েন্টের জন্য ডেপথ বায়াস সেট করা বন্ধ করা
- preventDefault থাকলে, ক্যাপচার করা হয়নি এমন সমস্যার জন্য DevTools-এর সতর্কতা লুকানো
- WGSL ইন্টারপোলেট স্যাম্পেলিং প্রথমে এবং যেকোনও একটি
- ভোরের আপডেট
Chrome 127
- Android-এ OpenGL ES-এর জন্য পরীক্ষামূলক সহায়তা
- GPUAdapter info অ্যাট্রিবিউট
- WebAssembly ইন্টারঅপারেশন সংক্রান্ত উন্নতি
- কমান্ড এনকোডার সংক্রান্ত সমস্যার সমাধান করা
- ভোরের আপডেট
Chrome 126
- maxTextureArrayLayers সীমা বাড়ান
- Vulkan ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশন
- শেডার কম্পাইলেশন টাইম উন্নত করা
- জমা দেওয়া কমান্ড বাফার অনন্য হতে হবে
- ভোরের আপডেট
Chrome 125
Chrome 124
- রিড-ওনলি ও রিড-রাইট স্টোরেজ টেক্সচার
- সার্ভিস ওয়ার্কার ও শেয়ারড ওয়ার্কারদের জন্য সহায়তা
- অ্যাডাপ্টর সংক্রান্ত তথ্যের নতুন অ্যাট্রিবিউট
- সমস্যার সমাধান
- ভোরের আপডেট
Chrome 123
- WGSL-এ DP4a বিল্ট-ইন ফাংশন কাজ করে
- WGSL-এ বিধিনিষেধহীন পয়েন্টার প্যারামিটার
- WGSL-এ কম্পোজিট ডিরেফারেন্স করার জন্য সিনট্যাক্স সুগার
- স্টেনসিল ও ডেপথ অ্যাস্পেক্টের জন্য আলাদা রিড-ওনলি স্টেট
- ভোরের আপডেট
Chrome 122
- মানানসই মোডের মাধ্যমে আরও বেশি দর্শকের কাছে পৌঁছান (ফিচারটি ডেভেলপ করা হচ্ছে)
- maxVertexAttributes সীমা বাড়ানো
- ভোরের আপডেট
Chrome 121
- Android-এ WebGPU কাজ করে
- Windows-এ শেডার কম্পাইলেশনের জন্য FXC-এর পরিবর্তে DXC ব্যবহার করুন
- কম্পিউট ও রেন্ডার পাসে টাইমস্ট্যাম্প কোয়েরি
- শেডার মডিউলে ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture কালার স্পেস হিসেবে display-p3 কাজ করে
- মেমরি হিপ সংক্রান্ত তথ্য
- ভোরের আপডেট
Chrome 120
- WGSL-এ ১৬-বিট ফ্লোটিং-পয়েন্ট ভ্যালুর জন্য সহায়তা
- সীমা অতিক্রম করা
- ডেপথ-স্টেনসিল স্টেটে পরিবর্তন
- অ্যাডাপ্টর সংক্রান্ত তথ্য আপডেট
- টাইমস্ট্যাম্প কোয়েরি কোয়ান্টাইজেশন
- স্প্রিং-ক্লিনিং ফিচার
Chrome 119
- ফিল্টার করা যায় এমন ৩২-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 ভার্টেক্স ফর্ম্যাট
- rgb10a2uint টেক্সচার ফর্ম্যাট
- ভোরের আপডেট
Chrome 118
copyExternalImageToTexture()-এ HTMLImageElement ও ImageData কাজ করে- রিড-রাইট ও রিড-অনলি স্টোরেজ টেক্সচারের জন্য পরীক্ষামূলক সহায়তা
- ভোরের আপডেট
Chrome 117
- ভার্টেক্স বাফার আনসেট করুন
- বাইন্ড গ্রুপ আনসেট করুন
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরি করার সময় হওয়া সমস্যা সম্পর্কে কোনও তথ্য না দেখানো
- SPIR-V শেডার মডিউল তৈরি সংক্রান্ত আপডেট
- ডেভেলপার অভিজ্ঞতা উন্নত করা
- অটোমেটিক তৈরি হওয়া লেআউট সহ ক্যাশিং পাইপলাইন
- ভোরের আপডেট
Chrome 116
- WebCodecs ইন্টিগ্রেশন
- GPUAdapter
requestDevice()-এর মাধ্যমে হারানো ডিভাইস ফেরত পাওয়া গেছে importExternalTexture()কল করা হলে ভিডিও প্লেব্যাক স্মুথ রাখুন- স্পেসিফিকেশন মেনে চলা
- ডেভেলপার অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
Chrome 115
- WGSL ভাষার এক্সটেনশন যা কাজ করে
- Direct3D 11-এর জন্য এক্সপেরিমেন্টাল সহায়তা
- AC পাওয়ারে ডিফল্ট হিসেবে ডিসক্রিট GPU পাওয়া
- ডেভেলপার অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
Chrome 114
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করা
- কনফিগার না করা ক্যানভাসে getCurrentTexture() ব্যবহার করলে InvalidStateError হয়
- WGSL আপডেট
- ভোরের আপডেট