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

PoCL 5.0 жобасының шығарылымы (Portable Computing Language 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 арқылы) арқылы жұмыс істеуге қолдау көрсететін серверлер бар.

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

  • OpenCL пәрмендерін өңдеуді фондық pocld процесін іске қосатын желідегі басқа хосттарға тасымалдау арқылы таратылған есептеулерді ұйымдастыруға арналған жаңа «Қашықтағы» сервер енгізілді.
  • CUDA драйвері атомдық операциялар, ауқымды айнымалылар, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier және sub_group_ballot сияқты қосымша OpenCL 3.0 мүмкіндіктері мен кеңейтімдерін жүзеге асырады.
  • RISC-V архитектурасына негізделген процессорларға қолдау жақсартылған. PoCL жұмысы LLVM 2 және GCC 23.10 бар Ubuntu 17 ортасы жүктелген Starfive VisionFive 13.2 тақтасында тексерілді.
  • cl_ext_float_atomics кеңейтімі FP32 және FP64 қолдауымен жүзеге асырылды.
  • cl_khr_command_buffer кеңейтімін енгізу 0.9.4 нұсқасына жаңартылды.
  • FPGA үшін тәжірибелік AlmaIF сервері ұсынылды.
  • SPIR 1.x/2.0 шейдерлерінің аралық көрсетілімі үшін толық емес қолдау жойылды. SPIR-V ұсынылатын аралық шейдер тілі ретінде жарияланған.
  • Clang/LLVM 17.0 үшін қосылды. Clang/LLVM 10-13 қолдауы ескірген.

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

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