OpenCL 3.0 спецификациясы енгізілді

OpenGL, Vulkan және OpenCL отбасы сипаттамаларын әзірлеуге жауапты Khronos концерні, жариялады суперкомпьютерлерде және бұлттық серверлерде қолданылатын көп ядролы процессорлар, графикалық процессорлар, FPGA, DSP және басқа мамандандырылған чиптер арқылы кросс-платформалық параллель есептеулерді ұйымдастыруға арналған API және C тілінің кеңейтімдерін анықтайтын OpenCL 3.0 спецификацияларын әзірлеуді аяқтау туралы мобильді құрылғыларда және ендірілген технологияда табуға болатын чиптерге. OpenCL стандарты толығымен ашық және лицензиялық алымдарды қажет етпейді. Стандарт бойынша жұмысқа IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, 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 монолитті сипатын бұғаттамай опциялар түрінде қабатталатын қосымша спецификацияларды біріктіру арқылы негізгі функционалдылықты кеңейту мүмкіндігін қамтамасыз етеді.
  • 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 ортасы қажетті функционалдылықты қамтамасыз ететін болса, OpenCL 3.0.x қолданбалары да кодты өзгертуді қажет етпейді (болашақ тасымалдануды қамтамасыз ету үшін OpenCL 2.x қолданбаларына OpenCL 2.x мүмкіндіктеріне қолдау көрсетуді бағалау үшін сынақ сұрауларын қосу ұсынылады. пайдаланылады). OpenCL іске асырулары бар драйвер әзірлеушілері өз өнімдерін OpenCL 3.0 нұсқасына оңай жаңартып, белгілі бір API қоңыраулары үшін сұрауларды өңдеуді ғана қосады және уақыт өте келе функционалдылықты біртіндеп арттыра алады.
  • OpenCL 3.0 спецификациясы Vulkan API арқылы да қолданылатын SPIR-V жалпы аралық көрсетілімінің ортаға, кеңейтімдерге және спецификацияларына сәйкес келеді. SPIR-V 1.3 спецификациясына қолдау қосымша мүмкіндік ретінде негізгі OpenCL 3.0 құрамына кіреді. Аралық бейнелеуді қолдану арқылы SPIR-V есептеу ядролары үшін ішкі топтармен операцияларды қолдау қосылды.
    OpenCL 3.0 спецификациясы енгізілді

  • Жадқа тікелей қатынасы бар DSP тәрізді чиптерде қолдау көрсетілетін асинхронды DMA операцияларын (Асинхронды DMA) орындауға арналған кеңейтімге қолдау қосылды. Асинхронды DMA есептеулермен немесе басқа деректерді тасымалдау операцияларымен параллель түрде ғаламдық және жергілікті жад арасында деректерді асинхронды түрде тасымалдау үшін DMA транзакцияларын пайдалануға мүмкіндік береді.
  • C Parallel Programming Extensions спецификациясы жаңартылды 3.0 нұсқасы, және C++ үшін OpenCL тіл кеңейтімдерін әзірлеу «OpenCL үшін C++» жобасының пайдасына тоқтатылды. OpenCL үшін C++ — Clang/LLVM негізіндегі компилятор және хабар тарату C++ және OpenCL C ядролары SPIR-V аралық көрсетіліміне немесе төмен деңгейлі машина кодына. Тарату арқылы SPIR-V сонымен қатар параллельді қолданбаларды құруды жеңілдететін SYCL үлгі кітапханасын пайдаланып C++ қолданбаларын құрастыруды ұйымдастырады.

    OpenCL 3.0 спецификациясы енгізілді

  • Vulkan API арқылы OpenCL тарату үшін компилятор ұсынылды clspv, ол OpenCL ядроларын Vulkan SPIR-V көрінісіне және қабатқа түрлендіреді clvk OpenCL API Vulkan үстінде жұмыс істеуге мүмкіндік береді.

    OpenCL 3.0 спецификациясы енгізілді

Ақпарат көзі: opennet.ru

пікір қалдыру