Соңғы OpenCL 3.0 техникалық сипаттамалары жарияланды

OpenGL, Vulkan және OpenCL отбасы сипаттамаларын әзірлеуге жауапты Khronos концерні, жариялады қорытынды техникалық шарттарды жариялау туралы OpenCL 3.0, көп ядролы процессорлар, GPU, FPGA, DSP және суперкомпьютерлерде және бұлттық серверлерде қолданылатындардан бастап мобильді құрылғыларда табуға болатын чиптерге дейін және басқа мамандандырылған чиптерді пайдаланып кросс-платформалық параллель есептеулерді ұйымдастыруға арналған API және C тілінің кеңейтімдерін анықтау. кіріктірілген технология. OpenCL стандарты толығымен ашық және лицензиялық алымдарды қажет етпейді.

Бір мезгілде жарияланған OpenCL SDK-ны құралдарымен, мысалдарымен, құжаттамасымен, тақырып файлдарымен, C++ байланыстарымен және OpenCL 3.0-мен үйлесімді қолданбаларды әзірлеуге арналған C кітапханаларымен ашыңыз. Сондай-ақ ұсынылған LLVM негізгі құрылымына қосу үшін патчтарды қарау сатысында тұрған Clang компиляторы негізінде OpenCL 3.0 бастапқы іске асыру. Стандарт бойынша жұмысқа IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments және Toshiba сияқты компаниялар қатысты.

Соңғы 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

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