گرافکس کا معیاری Vulkan 1.3 شائع ہوا۔

دو سال کے کام کے بعد، گرافکس اسٹینڈرڈز کنسورشیم خرونوس نے ولکن 1.3 تفصیلات شائع کی ہیں، جو GPUs کی گرافکس اور کمپیوٹنگ کی صلاحیتوں تک رسائی کے لیے ایک API کی وضاحت کرتی ہے۔ نئی تصریح میں دو سالوں میں جمع کی گئی اصلاحات اور توسیعات شامل ہیں۔ واضح رہے کہ Vulkan 1.3 تفصیلات کی ضروریات OpenGL ES 3.1 کلاس گرافکس آلات کے لیے تیار کی گئی ہیں، جو Vulkan 1.2 کو سپورٹ کرنے والے تمام GPUs میں نئے گرافکس API کے لیے سپورٹ کو یقینی بنائے گی۔ ولکن SDK ٹولز کو فروری کے وسط میں شائع کرنے کا منصوبہ ہے۔ اہم تفصیلات کے علاوہ، یہ درمیانی رینج اور اعلیٰ درجے کے موبائل اور ڈیسک ٹاپ ڈیوائسز کے لیے اضافی ایکسٹینشنز پیش کرنے کا منصوبہ بنایا گیا ہے، جو "ولکن سنگ میل" ایڈیشن کے حصے کے طور پر سپورٹ کیے جائیں گے۔

ایک ہی وقت میں، گرافکس کارڈز اور ڈیوائس ڈرائیورز میں نئی ​​تفصیلات اور اضافی ایکسٹینشن کے لیے سپورٹ کو نافذ کرنے کے لیے ایک منصوبہ پیش کیا گیا ہے۔ Intel, AMD, ARM اور NVIDIA Vulkan 1.3 کو سپورٹ کرنے والی مصنوعات جاری کرنے کی تیاری کر رہے ہیں۔ مثال کے طور پر، AMD نے اعلان کیا کہ وہ جلد ہی AMD Radeon RX Vega سیریز کے گرافکس کارڈز کے ساتھ ساتھ AMD RDNA فن تعمیر پر مبنی تمام کارڈز میں Vulkan 1.3 کو سپورٹ کرے گا۔ NVIDIA لینکس اور ونڈوز کے لیے Vulkan 1.3 کی حمایت کے ساتھ ڈرائیوروں کو شائع کرنے کی تیاری کر رہا ہے۔ ARM Vulkan 1.3 کے لیے مالی GPUs میں تعاون شامل کرے گا۔

اہم اختراعات:

  • آسان رینڈرنگ پاسز (اسٹریم لائننگ رینڈر پاسز، VK_KHR_dynamic_rendering) کے لیے سپورٹ کو لاگو کیا گیا ہے، جس سے آپ رینڈرنگ پاسز اور فریم بفر اشیاء بنائے بغیر رینڈرنگ شروع کر سکتے ہیں۔
  • گرافکس پائپ لائن کمپلیشن کے انتظام کو آسان بنانے کے لیے نئی ایکسٹینشنز شامل کی گئی ہیں (پائپ لائن، آپریشنز کا ایک سیٹ جو ویکٹر گرافکس کے ابتدائی اور ساخت کو پکسل کی نمائندگی میں بدل دیتا ہے)۔
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - مرتب شدہ اور منسلک ریاستی اشیاء کی تعداد کو کم کرنے کے لیے اضافی متحرک حالتیں شامل کریں۔
    • VK_EXT_pipeline_creation_cache_control - پائپ لائنوں کو کب اور کیسے مرتب کیا جاتا ہے اس پر جدید کنٹرول فراہم کرتا ہے۔
    • VK_EXT_pipeline_creation_feedback - پروفائلنگ اور ڈیبگنگ کو آسان بنانے کے لیے مرتب کردہ پائپ لائنز کے بارے میں معلومات فراہم کرتا ہے۔
  • متعدد خصوصیات کو اختیاری سے لازمی میں منتقل کر دیا گیا ہے۔ مثال کے طور پر، بفر حوالہ جات (VK_KHR_buffer_device_address) اور ولکن میموری ماڈل کا نفاذ، جو اس بات کی وضاحت کرتا ہے کہ کنکرنٹ تھریڈز مشترکہ ڈیٹا اور سنکرونائزیشن آپریشنز تک کیسے رسائی حاصل کر سکتے ہیں، اب لازمی ہیں۔
  • عمدہ ذیلی گروپ کنٹرول (VK_EXT_subgroup_size_control) فراہم کیا گیا ہے تاکہ دکاندار متعدد ذیلی گروپ سائز کے لیے مدد فراہم کر سکیں اور ڈویلپر اپنی مطلوبہ سائز کا انتخاب کر سکیں۔
  • VK_KHR_shader_integer_dot_product ایکسٹینشن فراہم کی گئی ہے، جس کا استعمال مشین لرننگ فریم ورک کی کارکردگی کو بہتر بنانے کے لیے کیا جا سکتا ہے جس کی بدولت ڈاٹ پروڈکٹ کے آپریشنز کی ہارڈ ویئر ایکسلریشن ہے۔
  • کل 23 نئی توسیعات شامل ہیں:
    • VK_KHR_copy_commands2
    • VK_KHR_ڈائنامک_رینڈرنگ
    • VK_KHR_format_feature_flags2
    • VK_KHR_مینٹیننس4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_synchronization2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_فارمٹس
    • VK_EXT_ ایکسٹینڈ_ڈینیامک_ اسٹیٹ
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_image_rostustness
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_ نجی_ڈیٹا
    • وی کے_ئیکس شیڈر_ڈیموٹی_ ٹو_ ہیلپر_نویوکیشن
    • VK_EXT_sggpp_size_control
    • VK_EXT_texel_buffer_alignment۔
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • ایک نئی آبجیکٹ قسم VkPrivateDataSlot شامل کیا گیا۔ 37 نئے کمانڈز اور 60 سے زائد ڈھانچے کو نافذ کیا گیا۔
  • SPIR-V 1.6 تفصیلات کو ایک انٹرمیڈیٹ شیڈر نمائندگی کی وضاحت کرنے کے لیے اپ ڈیٹ کیا گیا ہے جو تمام پلیٹ فارمز کے لیے عالمگیر ہے اور گرافکس اور متوازی کمپیوٹنگ دونوں کے لیے استعمال کیا جا سکتا ہے۔ SPIR-V میں ایک الگ شیڈر کمپائلیشن مرحلے کو ایک انٹرمیڈیٹ نمائندگی میں الگ کرنا شامل ہے، جو آپ کو مختلف اعلیٰ سطحی زبانوں کے لیے فرنٹ اینڈ بنانے کی اجازت دیتا ہے۔ مختلف اعلی سطحی نفاذ کی بنیاد پر، ایک واحد انٹرمیڈیٹ کوڈ الگ سے تیار کیا جاتا ہے، جسے اوپن جی ایل، ولکن اور اوپن سی ایل ڈرائیور بلٹ ان شیڈر کمپائلر استعمال کیے بغیر استعمال کر سکتے ہیں۔
  • مطابقت والے پروفائلز کا تصور تجویز کیا گیا ہے۔ گوگل اینڈرائیڈ پلیٹ فارم کے لیے ایک بیس لائن پروفائل جاری کرنے والا پہلا شخص ہے، جس سے Vulkan 1.0 کی تفصیلات سے ہٹ کر ڈیوائس پر اعلی درجے کی ولکن صلاحیتوں کے لیے سپورٹ کی سطح کا تعین کرنا آسان ہو جائے گا۔ زیادہ تر آلات کے لیے، پروفائل سپورٹ OTA اپ ڈیٹس انسٹال کیے بغیر فراہم کی جا سکتی ہے۔

ہمیں یاد کرنا چاہیے کہ Vulkan API اپنے ڈرائیوروں کی بنیادی آسان بنانے، GPU کمانڈز کی جنریشن کو ایپلی کیشن سائیڈ میں منتقل کرنے، ڈیبگنگ لیئرز کو جوڑنے کی صلاحیت، مختلف پلیٹ فارمز کے لیے API کو یکجا کرنے اور پری کمپائلڈ کے استعمال کے لیے قابل ذکر ہے۔ GPU سائیڈ پر عملدرآمد کے لیے کوڈ کی درمیانی نمائندگی۔ اعلی کارکردگی اور پیشین گوئی کو یقینی بنانے کے لیے، Vulkan GPU آپریشنز پر براہ راست کنٹرول اور GPU ملٹی تھریڈنگ کے لیے مقامی مدد کے ساتھ ایپلی کیشنز فراہم کرتا ہے، جو ڈرائیور کے اوور ہیڈ کو کم سے کم کرتا ہے اور ڈرائیور کی طرف کی صلاحیتوں کو بہت آسان اور زیادہ پیش قیاسی بناتا ہے۔ مثال کے طور پر، آپریشنز جیسے میموری مینجمنٹ اور ایرر ہینڈلنگ، جو اوپن جی ایل میں ڈرائیور سائیڈ پر لاگو ہوتے ہیں، ولکن میں ایپلیکیشن لیول پر منتقل ہوتے ہیں۔

Vulkan تمام دستیاب پلیٹ فارمز پر محیط ہے اور ڈیسک ٹاپ، موبائل اور ویب کے لیے ایک واحد API فراہم کرتا ہے، جس سے ایک عام API کو متعدد GPUs اور ایپلیکیشنز میں استعمال کیا جا سکتا ہے۔ ولکن کے ملٹی لیئر آرکیٹیکچر کی بدولت، جس کا مطلب ہے کہ وہ ٹولز جو کسی بھی GPU کے ساتھ کام کرتے ہیں، OEMs ترقی کے دوران کوڈ کے جائزے، ڈیبگنگ اور پروفائلنگ کے لیے انڈسٹری کے معیاری ٹولز استعمال کر سکتے ہیں۔ شیڈرز بنانے کے لیے، ایک نئی پورٹیبل انٹرمیڈیٹ نمائندگی، SPIR-V، تجویز کی گئی ہے، جو LLVM پر مبنی ہے اور OpenCL کے ساتھ بنیادی ٹیکنالوجیز کا اشتراک کرتی ہے۔ ڈیوائسز اور اسکرینز کو کنٹرول کرنے کے لیے، ولکن WSI (ونڈو سسٹم انٹیگریشن) انٹرفیس پیش کرتا ہے، جو تقریباً وہی مسائل حل کرتا ہے جو OpenGL ES میں EGL کے ہوتے ہیں۔ WSI سپورٹ Wayland میں باکس کے باہر دستیاب ہے - Vulkan استعمال کرنے والی تمام ایپلیکیشنز غیر ترمیم شدہ Wayland سرورز کے ماحول میں چل سکتی ہیں۔ WSI کے ذریعے کام کرنے کی صلاحیت اینڈرائیڈ، X11 (DRI3 کے ساتھ)، Windows، Tizen، macOS اور iOS کے لیے بھی فراہم کی گئی ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں