Verëffentlechung vu PoCL 5.0 mat onofhängeger Ëmsetzung vum OpenCL Standard

D'Verëffentlechung vum PoCL 5.0 Projet (Portable Computing Language OpenCL) gouf publizéiert, eng Implementatioun vum OpenCL Standard entwéckelt deen onofhängeg vu Grafikaccelerator Hiersteller ass an d'Benotzung vu verschiddene Backends erlaabt fir OpenCL Kernels op verschidden Aarte vu Grafiken an Zentralprozessoren auszeféieren. . De Projet Code gëtt ënner der MIT Lizenz verdeelt. Ënnerstëtzt Aarbecht op Plattformen X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU a verschidde spezialiséiert ASIP (Application-Specific Instruction-set Prozessor) an TTA (Transport Triggered Architecture) Prozessoren mat VLIW Architektur.

D'Ëmsetzung vum OpenCL Kernel Compiler ass op Basis vu LLVM gebaut, a Clang gëtt als Frontend fir OpenCL C benotzt. Fir déi richteg Portabilitéit a Leeschtung ze garantéieren, kann den OpenCL Kernel Compiler Kombinatiounsfunktiounen generéieren déi verschidde Hardware Ressourcen benotze kënnen fir d'Code-Ausféierung paralleliséieren, wéi VLIW, Superscalar, SIMD, SIMT, Multi-Core a Multi-Threading. Et gëtt Ënnerstëtzung fir ICD Treiber (Installable Client Driver). Et gi Backends fir Operatioun iwwer CPU ze ënnerstëtzen, ASIP (TCE / TTA), GPU baséiert op HSA Architektur an NVIDIA GPU (via libcuda).

An der neier Versioun:

  • En neien "Remote" Backend gouf implementéiert, entwéckelt fir verdeelt Informatik ze organiséieren andeems d'Veraarbechtung vun OpenCL Kommandoen op aner Hosten am Netz transferéiert gëtt, deen den Hannergrond pocld Prozess leeft.
  • De CUDA Chauffer implementéiert zousätzlech Funktiounen an Extensiounen vun OpenCL 3.0, wéi atomar Operatiounen, scoped Variablen, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, an sub_group_ballot.
  • Verbesserte Ënnerstëtzung fir CPUs baséiert op der RISC-V Architektur. PoCL Operatioun gouf op der Starfive VisionFive 2 Board getest mat Ubuntu 23.10 Ëmfeld mat LLVM 17 a GCC 13.2.
  • D'cl_ext_float_atomics Extensioun gouf mat Ënnerstëtzung fir FP32 an FP64 implementéiert.
  • D'Ëmsetzung vun der cl_khr_command_buffer Extensioun gouf op Versioun 0.9.4 aktualiséiert.
  • En experimentellen AlmaIF Backend fir FPGAs gouf proposéiert.
  • Ewechzehuelen onkomplett Ënnerstëtzung fir Tëschenzäit Representatioun vun SPIR 1.x / 2.0 shaders. SPIR-V gëtt als déi empfohlene Zwëschen Shader Sprooch deklaréiert.
  • Zousätzlech Ënnerstëtzung fir Clang / LLVM 17.0. Ënnerstëtzung fir Clang / LLVM 10-13 gouf ofgeschaaft.

Source: opennet.ru

Setzt e Commentaire