Objavljen je PoCL 5.0 sa neovisnom implementacijom standarda OpenCL.

Objavljen je izdanak projekta PoCL 5.0 (Portable Computing Language OpenCL), koji razvija implementaciju standarda OpenCL neovisnu o proizvođačima grafičkih akceleratora i omogućava korištenje različitih backendova za izvođenje OpenCL jezgre na različitim vrstama grafičkih i središnjih procesora. Kod projekta se distribuira pod MIT licencom. Podržano je izvođenje na platformama X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU i raznim specijaliziranim ASIP (Processor s aplikacijski specifičnom instrukcijskom setom) i TTA procesorima (Transport Triggered Architecture) s VLIW arhitekturom.

Implementacija kompilatora OpenCL jezgre temelji se na LLVM, a za frontend za OpenCL C koristi se Clang. Kako bi se osigurala adekvatna prenosivost i performanse, kompilator OpenCL jezgre može generirati kombinirane funkcije koje mogu koristiti različite hardverske resurse za paralelno izvršavanje koda, kao što su VLIW, superskalarnost, SIMD, SIMT, višekernelna i višedretvena obrada. Podrška za ICD drajvere (Installable Client Driver) je prisutna. Dostupni su backendovi za osiguranje rada putem CPU, ASIP (TCE/TTA), GPU temeljenog na HSA arhitekturi i NVIDIA GPU (putem libcuda).

U novoj verziji:

  • Implementiran je novi backend „Remote“, namijenjen organizaciji distribuiranih izračuna putem premještanja obrade OpenCL naredbi na druge hostove u mreži na kojima radi pozadinski proces pocld.
  • U CUDA drajveru implementirane su dodatne mogućnosti i proširenja OpenCL 3.0, poput atomskih operacija, varijabli s ograničenim opsegom, podgrupa intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier i sub_group_ballot.
  • Poboljšana je podrška za CPU temeljen na RISC-V arhitekturi. Rad PoCL-a testiran je na ploči Starfive VisionFive 2 s učitanim Ubuntu 23.10 okruženjem s LLVM 17 i GCC 13.2.
  • Implementirano je proširenje cl_ext_float_atomics s podrškom za FP32 i FP64.
  • Implementacija proširenja cl_khr_command_buffer ažurirana je na verziju 0.9.4.
  • Predložen je eksperimentalni backend AlmaIF za FPGA.
  • Uklonjena je nedovršena podrška za međusobno predstavljanje šablona SPIR 1.x/2.0. Kao preporučeni međusobni jezik šablona proglašen je SPIR-V.
  • Dodana je podrška za Clang/LLVM 17.0. Provođenje podrške za Clang/LLVM 10-13 proglašeno je zastarjelim.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster