OpenCL стандартын тәуелсіз енгізумен PoCL 3.1 шығарылымы

PoCL 3.1 (Portable Computing Language OpenCL) жобасының шығарылымы ұсынылды, ол графикалық үдеткіш өндірушілерден тәуелсіз OpenCL стандартының іске асырылуын әзірлейді және OpenCL ядроларын графиканың әртүрлі түрлерінде орындау үшін әртүрлі серверлерді пайдалануға мүмкіндік береді және орталық процессорлар. Жоба коды MIT лицензиясы бойынша таратылады. X86_64, MIPS32, ARM v7 платформаларында, AMD HSA APU, NVIDIA GPU және VLIW архитектурасы бар түрлі мамандандырылған ASIP (бағдарламаға арналған нұсқаулар жинағы процессоры) және TTA (транспорттық іске қосылған архитектура) процессорларында жұмыс істеуге қолдау көрсетеді.

OpenCL ядросының компиляторын іске асыру LLVM негізінде құрастырылған, ал Clang OpenCL C үшін алдыңғы қатар ретінде пайдаланылады. Тиісті портативтілік пен өнімділікті қамтамасыз ету үшін OpenCL ядросының компиляторы VLIW, суперскаляр, SIMD, SIMT, көп ядролы және көп ағынды сияқты кодтың орындалуын параллельдеу үшін әртүрлі аппараттық ресурстарды пайдалана алатын құрама функцияларды жасай алады. ICD драйверлеріне қолдау бар (Орнатылған клиент драйвері). CPU, ASIP (TCE/TTA), HSA архитектурасына негізделген GPU және NVIDIA GPU (libcuda арқылы) арқылы жұмыс істеуге қолдау көрсететін серверлер бар.

Жаңа нұсқада:

  • Clang/LLVM 15.0 үшін қосылды.
  • CPU және CUDA драйверлері үшін SPIR-V шейдерінің аралық ұсыну қолдауы айтарлықтай жақсартылған.
  • Арнайы аппараттық құралға (CL_DEVICE_TYPE_ACCELERATOR) және желілік компиляцияны қолдамайтын реттелетін құрылғыларға (CL_DEVICE_TYPE_CUSTOM) арналған драйвер айтарлықтай қайта жасалды. Accel және ttasim драйверлері жаңа AlmaIF драйверіне біріктірілді.
  • Vulkan графикалық API драйверінде жұмыс жалғасуда.
  • Бір қоңырауда орындау үшін OpenCL пәрмендерінің тізбегін жазуға мүмкіндік беретін cl_khr_command_buffer кеңейтімінің негізгі іске асыруы ұсынылады.

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

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