ওয়েবজিপিইউ বৈশিষ্ট্যের সংখ্যা এই সময় কিছুটা বিরল মনে হতে পারে, তবে কিছু বড় অগ্রগতি ঠিক কোণায় রয়েছে! ভবিষ্যত রিলিজে শেডার কম্পাইলেশন স্পিডের উন্নতি এবং WGPUFuture ব্যবহার করে বাস্তবায়নের অ্যাসিঙ্ক মডেলের পরিবর্তনের মতো বৈশিষ্ট্য অন্তর্ভুক্ত থাকবে।
উপগোষ্ঠী (বিকাশের বৈশিষ্ট্য)
সাবগ্রুপ বৈশিষ্ট্যটি SIMD-স্তরের সমান্তরালতা সক্ষম করে, একটি গোষ্ঠীর মধ্যে থ্রেডগুলিকে যোগাযোগ করতে এবং সম্মিলিত গণিত ক্রিয়াকলাপ সম্পাদন করতে দেয় (উদাহরণস্বরূপ, 16টি সংখ্যার যোগফল গণনা করা)। এটি ক্রস-থ্রেড ডেটা ভাগ করে নেওয়ার একটি অত্যন্ত দক্ষ ফর্ম প্রদান করে।
সাবগ্রুপ অপারেশনগুলি আধুনিক GPU API দ্বারা সমর্থিত, তবে নামকরণ এবং বাস্তবায়নের বিবরণ পরিবর্তিত হয়। ক্রোম টিম সাধারণতা চিহ্নিত করেছে এবং এখন এই বৈশিষ্ট্যটিকে মানক করার জন্য কাজ করছে৷ প্রস্তাবটি দেখুন এবং আপনার যদি প্রশ্ন থাকে তবে মন্তব্য করুন ।
chrome://flags/#enable-experimental-web-platform-features
এ "পরীক্ষামূলক ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য" পতাকার পিছনে সাবগ্রুপগুলির একটি ন্যূনতম এবং মানহীন বাস্তবায়ন রয়েছে যাতে বিকাশকারীরা এটিকে চেষ্টা করে দেখতে পারে এবং বাস্তব-বিশ্বের সুবিধা হিসাবে প্রতিক্রিয়া ভাগ করে নিতে পারে WebGPU প্রসঙ্গে এখনও প্রমাণিত হয়নি।
যখন "chromium-experimental-subgroups"
বৈশিষ্ট্যটি একটি GPUAdapter
এ উপলব্ধ থাকে, তখন WGSL-এ পরীক্ষামূলক সাবগ্রুপ সমর্থন পেতে এবং এর minSubgroupSize
এবং maxSubgroupSize
সীমা চেক করতে এই বৈশিষ্ট্য সহ একটি GPUDevice
অনুরোধ করুন৷
এছাড়াও আপনাকে enable chromium_experimental_subgroups
করে আপনার WGSL কোডে এই এক্সটেনশনটি স্পষ্টভাবে সক্ষম করতে হবে। সক্রিয় করা হলে, আপনি নিম্নলিখিত সংযোজনগুলিতে অ্যাক্সেস পাবেন:
-
subgroup_invocation_id
: সাবগ্রুপের মধ্যে থ্রেডের সূচকের জন্য একটি অন্তর্নির্মিত মান। -
subgroup_size
: সাবগ্রুপ সাইজ অ্যাক্সেসের জন্য একটি অন্তর্নির্মিত মান। -
subgroupBallot(value):
বিট ফিল্ডের একটি সেট দেখায় যেখানেsubgroup_invocation_id
এর সাথে সংশ্লিষ্ট বিটটি 1 হয় যদি সেই সক্রিয় আহ্বানের জন্যvalue
সত্য হয় এবং অন্যথায় 0 হয়। -
subgroupBroadcast(value, id)
:subgroup_invocation_id
ম্যাচিংid
সহ আমন্ত্রণ থেকেvalue
সাবগ্রুপের মধ্যে সমস্ত আহ্বানে সম্প্রচার করে। দ্রষ্টব্য:id
অবশ্যই একটি কম্পাইল-টাইম ধ্রুবক হতে হবে।
নিম্নোক্ত কোড স্নিপেটটি উপগোষ্ঠীর সম্ভাব্যতা খুঁজে বের করার জন্য একটি ভিত্তি প্রদান করে।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("chromium-experimental-subgroups")) {
throw new Error("Experimental subgroups support is not available");
}
// Explicitly request experimental subgroups support.
const device = await adapter.requestDevice({
requiredFeatures: ["chromium-experimental-subgroups"],
});
const shaderModule = device.createShaderModule({ code: `
enable chromium_experimental_subgroups;
@compute @workgroup_size(64) fn main(
@builtin(global_invocation_id) global_id : vec3u,
@builtin(subgroup_size) sg_size : u32,
@builtin(subgroup_invocation_id) sg_id : u32) {
// TODO: Use subgroupBallot() and subgroupBroadcast().
}`,
});
3D টেক্সচারের টুকরোতে রেন্ডার করুন
আপনি এখন GPURenderPassColorAttachment
এ নতুন depthSlice
সদস্যের সাথে, সাধারণ 2D টেক্সচার রেন্ডারিংয়ের বাইরে এর ক্ষমতাগুলিকে প্রসারিত করে রেন্ডার পাসের মধ্যে 3D টেক্সচারের স্লাইস(গুলি) সরাসরি রেন্ডার করতে পারেন। এই সংযোজনটি আপনাকে উদাহরণস্বরূপ 3D টেক্সচার ভলিউমে সরাসরি রেন্ডার করে ভক্সেল-ভিত্তিক দৃশ্য এবং প্রভাব তৈরি করতে দেয়। দেখুন ভোরের সংখ্যা: 1020 ।
ভোরের আপডেট
কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 131
- WGSL এ ক্লিপ দূরত্ব
- GPUCanvasContext getConfiguration()
- বিন্দু এবং লাইন আদিম গভীরতা পক্ষপাত থাকতে হবে না
- সাবগ্রুপগুলির জন্য অন্তর্নির্মিত ফাংশন অন্তর্ভুক্ত স্ক্যান
- মাল্টি-ড্র পরোক্ষ জন্য পরীক্ষামূলক সমর্থন
- Shader মডিউল সংকলন বিকল্প কঠোর গণিত
- GPUAdapter requestAdapterInfo() সরান
- ভোরের আপডেট
ক্রোম 130
- দ্বৈত উৎস মিশ্রন
- ধাতুতে Shader সংকলন সময় উন্নতি
- GPUAdapter রিকোয়েস্ট অ্যাডাপ্টারইনফো() এর অবচয়
- ভোরের আপডেট
ক্রোম 129
ক্রোম 128
- সাবগ্রুপগুলির সাথে পরীক্ষা করা হচ্ছে
- লাইন এবং পয়েন্টের জন্য গভীরতার পক্ষপাত সেটিং বাতিল করুন
- ডিফল্ট প্রতিরোধ করলে ক্যাপচারড ত্রুটি DevTools সতর্কতা লুকান
- WGSL ইন্টারপোলেট স্যাম্পলিং প্রথমে এবং হয়
- ভোরের আপডেট
ক্রোম 127
- অ্যান্ড্রয়েডে OpenGL ES-এর জন্য পরীক্ষামূলক সমর্থন
- GPUAdapter তথ্য বৈশিষ্ট্য
- WebAssembly ইন্টারপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোরের আপডেট
ক্রোম 126
- maxTextureArrayLayers সীমা বাড়ান
- Vulkan ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশান
- Shader সংকলন সময় উন্নতি
- জমা দেওয়া কমান্ড বাফার অনন্য হতে হবে
- ভোরের আপডেট
ক্রোম 125
ক্রোম 124
- রিড-ওনলি এবং রিড-রাইট স্টোরেজ টেক্সচার
- সেবা কর্মী এবং শেয়ার্ড ওয়ার্কার্স সমর্থন
- নতুন অ্যাডাপ্টারের তথ্য বৈশিষ্ট্য
- বাগ ফিক্স
- ভোরের আপডেট
ক্রোম 123
- DP4a বিল্ট-ইন ফাংশন WGSL-এ সমর্থন করে
- WGSL-এ অনিয়ন্ত্রিত পয়েন্টার পরামিতি
- WGSL-এ কম্পোজিট ডিরেফারেন্স করার জন্য সিনট্যাক্স চিনি
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য আলাদা পঠনযোগ্য অবস্থা
- ভোরের আপডেট
ক্রোম 122
- সামঞ্জস্যপূর্ণ মোডের সাথে নাগাল প্রসারিত করুন (বিকাশের বৈশিষ্ট্য)
- maxVertexAttributes সীমা বাড়ান
- ভোরের আপডেট
ক্রোম 121
- অ্যান্ড্রয়েডে WebGPU সমর্থন করুন
- উইন্ডোজে শেডার কম্পাইলেশনের জন্য FXC-এর পরিবর্তে DXC ব্যবহার করুন
- গণনা এবং রেন্ডার পাসে টাইমস্ট্যাম্প প্রশ্ন
- শেডার মডিউলে ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture রঙের স্থান হিসাবে প্রদর্শন-p3 সমর্থন করে
- মেমরি হিপ তথ্য
- ভোরের আপডেট
ক্রোম 120
- WGSL-এ 16-বিট ফ্লোটিং-পয়েন্ট মানগুলির জন্য সমর্থন
- সীমা ধাক্কা
- গভীরতা-স্টেনসিল অবস্থায় পরিবর্তন
- অ্যাডাপ্টারের তথ্য আপডেট
- টাইমস্ট্যাম্প ক্যোয়ান্টাইজেশন
- বসন্ত-পরিষ্কার বৈশিষ্ট্য
ক্রোম 119
- ফিল্টারযোগ্য 32-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 শীর্ষবিন্দু বিন্যাস
- rgb10a2uint টেক্সচার ফরম্যাট
- ভোরের আপডেট
ক্রোম 118
-
copyExternalImageToTexture()
এ HTMLImageElement এবং ImageData সমর্থন - পঠন-লেখা এবং শুধুমাত্র-পঠন সঞ্চয়স্থান টেক্সচারের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম 117
- শীর্ষবিন্দু বাফার আনসেট করুন
- বাইন্ড গ্রুপ আনসেট করুন
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির ত্রুটিগুলি নীরব করুন৷
- SPIR-V shader মডিউল তৈরির আপডেট
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ পাইপলাইন ক্যাশ করা হচ্ছে
- ভোরের আপডেট
ক্রোম 116
- ওয়েবকোডেক্স ইন্টিগ্রেশন
- হারিয়ে যাওয়া ডিভাইস GPUAdapter
requestDevice()
দ্বারা ফেরত দেওয়া হয়েছে -
importExternalTexture()
বলা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন - বিশেষ সঙ্গতি
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 115
- WGSL ভাষা এক্সটেনশন সমর্থিত
- Direct3D 11 এর জন্য পরীক্ষামূলক সমর্থন
- AC পাওয়ারে ডিফল্টরূপে আলাদা GPU পান
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 114
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন
- getCurrentTexture() কনফিগার না করা ক্যানভাসে InvalidStateError নিক্ষেপ করে
- WGSL আপডেট
- ভোরের আপডেট