Концерни Khronos, ки барои таҳияи мушаххасоти оилаи OpenGL, Vulkan ва OpenCL масъул аст,
Дар марҳилаи кунунӣ, мушаххасот мақоми муваққатӣ дода шудааст, ки имкони такмилро дар асоси фикру мулоҳизаҳои тавассути
Аз ҳама назаррас
- OpenCL 3.0 API ҳоло ҳама версияҳои OpenCL (1.2, 2.x) бидуни пешниҳоди мушаххасоти алоҳида барои ҳар як версия фаро мегирад. OpenCL 3.0 имкон медиҳад, ки функсияҳои асосиро тавассути ҳамгироии мушаххасоти иловагӣ, ки дар шакли вариантҳо бидуни бастани хусусияти монолитии OpenCL 1.2/2.X ҷойгир карда мешаванд, васеъ намояд.
- Танҳо функсияҳое, ки ба OpenCL 1.2 мувофиқанд, ҳатмӣ эълон карда мешаванд ва ҳамаи хусусиятҳои дар мушаххасоти OpenCL 2.x пешниҳодшуда ҳамчун ихтиёрӣ тасниф карда мешаванд. Ин равиш эҷоди татбиқи фармоиширо, ки бо OpenCL 3.0 мувофиқанд, осонтар мекунад ва доираи дастгоҳҳоеро, ки дар онҳо OpenCL 3.0 истифода мешавад, васеъ мекунад. Масалан, истеҳсолкунандагон метавонанд дастгирии OpenCL 3.0-ро бидуни татбиқи хусусиятҳои мушаххаси OpenCL 2.x татбиқ кунанд. Барои дастрасӣ ба хусусиятҳои ихтиёрии забон, 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 ҳамчун хусусияти ихтиёрӣ дохил карда шудааст. Тавассути истифодаи намояндагии фосилавӣ
СПИР-В дастгирии амалиёт бо зергурӯҳҳо барои ядроҳои ҳисоббарорӣ илова карда шудааст.
- Дастгирии иловашуда барои васеъшавӣ барои иҷрои амалиёти асинхронии DMA (DMA асинхронӣ), ки дар микросхемаҳои ба монанди DSP бо дастрасии мустақими хотира дастгирӣ карда мешавад. DMA асинхронӣ имкон медиҳад, ки транзаксияҳои DMA-ро барои интиқоли маълумот байни хотираи глобалӣ ва маҳаллӣ ба таври асинхронӣ, дар баробари ҳисобҳо ё дигар амалиёти интиқоли маълумот истифода баранд.
- Мушаххасоти C Extensions Parallel Programming ба навсозӣ карда шуд
нусхаи 3.0 , ва таҳияи васеъшавии забони OpenCL барои C++ ба манфиати лоиҳаи "C++ for OpenCL" қатъ карда шуд. C++ барои OpenCL як компилятор дар асоси Clang/LLVM вапахш кардан Ядроҳои C++ ва OpenCL C ба намояндагии мобайнии SPIR-V ё рамзи мошини сатҳи паст. Тавассути пахш, SPIR-V инчунин бо истифода аз китобхонаи шаблонҳои SYCL ҷамъи барномаҳои C++-ро ташкил мекунад, ки эҷоди замимаҳои мувозиро осон мекунад. - Барои пахши OpenCL тавассути API Vulkan як компилятор пешниҳод шудааст
clspv , ки ядроҳои OpenCL-ро ба намояндагии Vulkan SPIR-V ва қабат табдил медиҳадclvk барои имкон додани API OpenCL барои кор дар болои Вулкан.
Манбаъ: opennet.ru