OpenCL 3.0 وضاحت متعارف ڪرايو

Khronos خدشات، OpenGL، Vulkan ۽ OpenCL خانداني وضاحتن کي ترقي ڪرڻ لاء ذميوار، اعلان ڪيو OpenCL 3.0 وضاحتن جي ترقي جي مڪمل ٿيڻ تي جيڪي APIs ۽ C ٻولي جي ايڪسٽينشن کي بيان ڪن ٿيون ملٽي-ڪور سي پي يوز، GPUs، FPGAs، DSPs ۽ ٻيون خاص چپس استعمال ڪندي ڪراس-پليٽ فارم متوازي ڪمپيوٽنگ کي منظم ڪرڻ لاءِ، جيڪي سپر ڪمپيوٽرن ۽ ڪلائوڊ سرورز ۾ استعمال ٿين ٿيون. چپس تائين جيڪي موبائيل ڊوائيسز ۽ ايمبيڊڊ ٽيڪنالاجي ۾ ڳولهي سگهجن ٿا. OpenCL معيار مڪمل طور تي کليل آهي ۽ لائسنس جي فيس جي ضرورت ناهي. ڪمپنيون جهڙوڪ IBM، NVIDIA، Intel، AMD، Apple، ARM، اليڪٽرانڪ آرٽس، Qualcomm، Texas Instruments ۽ Toshiba معيار تي ڪم ۾ حصو ورتو.

موجوده اسٽيج تي، وضاحت کي عارضي حيثيت ڏني وئي آهي، جنهن جي ذريعي موڪليل موٽ جي بنياد تي سڌارڻ جي امڪان جو مطلب آهي. GitHub. هڪ دفعو تبصرن کي حساب ۾ ورتو ويندو، وضاحت کي حتمي شڪل ڏني ويندي ۽ هڪ حتمي ٽيسٽ سوٽ شايع ڪيو ويندو موجوده عملن جي مطابقت کي جانچڻ لاءِ.

OpenCL 3.0 وضاحت متعارف ڪرايو

سڀ کان وڌيڪ قابل ذڪر особенности OpenCL 3.0:

  • OpenCL 3.0 API هاڻي OpenCL (1.2, 2.x) جي سڀني ورزن کي ڍڪي ٿو، هر ورزن لاءِ الڳ وضاحتون مهيا ڪرڻ کان سواءِ. OpenCL 3.0 اضافي وضاحتن جي انضمام جي ذريعي بنيادي ڪارڪردگي کي وڌائڻ جي صلاحيت ڏئي ٿو جيڪا OpenCL 1.2/2.X جي monolithic فطرت کي بلاڪ ڪرڻ کان سواء اختيارن جي صورت ۾ پرت ڪئي ويندي.
  • صرف ڪارڪردگي جيڪا OpenCL 1.2 سان مطابقت رکي ٿي، لازمي قرار ڏني وئي آهي، ۽ OpenCL 2.x وضاحتن ۾ تجويز ڪيل سڀئي خاصيتون اختياري طور تي درجه بندي ڪيون ويون آهن. اهو طريقو آسان بڻائيندو رواجي عملن کي ٺاهڻ ۾ جيڪي OpenCL 3.0 سان مطابقت رکن ٿيون، ۽ ڊوائيسز جي حد کي وڌائيندو جن تي OpenCL 3.0 استعمال ڪري سگهجي ٿو. مثال طور، ٺاهيندڙ مخصوص OpenCL 3.0.x خاصيتن کي لاڳو ڪرڻ کان سواء OpenCL 2 سپورٽ کي لاڳو ڪري سگھن ٿا. اختياري ٻوليءَ جي خاصيتن تائين رسائي حاصل ڪرڻ لاءِ، OpenCL 3.0 شامل ڪيو آھي ھڪڙو امتحاني سوالن جو سسٽم جيڪو توھان کي اجازت ڏئي ٿو انفرادي API عناصر جي مدد جو جائزو وٺي، خاص ميڪرو.
  • اڳواٽ جاري ڪيل وضاحتن سان يونيڪيشن ان کي آسان بڻائي ٿي ايپليڪيشنن کي OpenCL 3.0 ڏانهن منتقل ڪرڻ. OpenCL 1.2 ايپليڪيشنون ڊوائيسز تي هلائڻ جي قابل ٿي وينديون جيڪي OpenCL 3.0 کي سپورٽ ڪن ٿيون بغير ترميم جي. OpenCL 2.x ايپليڪيشنن کي به ڪوڊ تبديلين جي ضرورت نه پوندي، جيستائين OpenCL 3.0 ماحول گهربل ڪارڪردگي مهيا ڪري ٿو (مستقبل جي پورائيبلٽي کي يقيني بڻائڻ لاء، OpenCL 2.x ايپليڪيشنن کي سفارش ڪئي وئي آهي ته ٽيسٽ سوالن کي شامل ڪرڻ لاء OpenCL 2.x خاصيتن جي مدد جو جائزو وٺڻ لاء. استعمال ڪيو پيو وڃي). ڊرائيور ڊولپرز سان OpenCL لاڳو ڪرڻ وارا آساني سان پنھنجي پروڊڪٽس کي OpenCL 3.0 ۾ اپ گريڊ ڪري سگھن ٿا، صرف خاص API ڪالن لاءِ پڇا ڳاڇا پروسيسنگ شامل ڪري، ۽ وقت سان گڏ ڪارڪردگي وڌائي.
  • OpenCL 3.0 وضاحت سان ترتيب ڏنل آهي ماحول، توسيع، ۽ SPIR-V عام وچولي نمائندگي جي وضاحتن سان، جيڪو پڻ استعمال ڪيو ويندو آهي Vulkan API. SPIR-V 1.3 وضاحتن لاءِ سپورٽ بنيادي OpenCL 3.0 ۾ اختياري خصوصيت جي طور تي شامل آھي. وچولي نمائندگي جي استعمال جي ذريعي اسپير-وي ڪمپيوٽنگ ڪور لاءِ سب گروپن سان گڏ آپريشنز لاءِ سپورٽ شامل ڪئي وئي آھي.
    OpenCL 3.0 وضاحت متعارف ڪرايو

  • شامل ڪيل سپورٽ شامل ڪئي وئي ايڪسٽينشن لاءِ ڪم ڪرڻ لاءِ Asynchronous DMA آپريشنز (Asynchronous DMA)، سپورٽ ٿيل DSP-like چپس ۾ سڌو ميموري جي رسائي سان. Asynchronous DMA اهو ممڪن بڻائي ٿو DMA ٽرانزيڪشن کي استعمال ڪرڻ لاءِ عالمي ۽ مقامي ياداشت جي وچ ۾ ڊيٽا جي منتقلي لاءِ asynchronously، حسابن يا ٻين ڊيٽا جي منتقلي جي عملن سان متوازي ۾.
  • سي متوازي پروگرامنگ ايڪسٽينشن جي وضاحت کي اپڊيٽ ڪيو ويو آهي نسخو 3.0، ۽ C++ لاءِ OpenCL ٻوليءَ جي واڌارن جي ترقي کي ”C++ for OpenCL“ پروجيڪٽ جي حق ۾ بند ڪيو ويو. C++ OpenCL لاءِ هڪ ڪمپلر آهي جنهن تي ٻڌل آهي ڪلانگ/LLVM ۽ نشر ڪرڻ C++ ۽ OpenCL C kernels SPIR-V وچولي نمائندگي يا گھٽ-سطح واري مشين ڪوڊ ۾. براڊڪاسٽنگ ذريعي، SPIR-V SYCL ٽيمپليٽ لائبريري استعمال ڪندي C++ ايپليڪيشنن جي اسيمبلي کي پڻ منظم ڪري ٿو، جيڪا متوازي ايپليڪيشنن جي تخليق کي آسان بڻائي ٿي.

    OpenCL 3.0 وضاحت متعارف ڪرايو

  • Vulkan API ذريعي OpenCL نشر ڪرڻ لاءِ هڪ ڪمپلر تجويز ڪيو ويو آهي clspv، جيڪو OpenCL ڪنيلز کي Vulkan SPIR-V نمائندگي ۾ تبديل ڪري ٿو، ۽ هڪ پرت clvk Vulkan جي چوٽي تي ڪم ڪرڻ لاء OpenCL API کي فعال ڪرڻ لاء.

    OpenCL 3.0 وضاحت متعارف ڪرايو

جو ذريعو: opennet.ru

تبصرو شامل ڪريو