Udgivelsen af PoCL 5.0 med en uafhængig implementering af OpenCL-standarden

Udgivet version 5.0 af PoCL (Portable Computing Language OpenCL), der udvikler implementeringen af OpenCL-standarden, uafhængig af producenter af grafiske acceleratorer og muliggør brugen af forskellige backend-systemer til udførelse af OpenCL-nukleer på forskellige typer grafiske og centrale processorer. Projektkoden distribueres under MIT-licensen. Der understøttes drift på platforme som X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU og forskellige specialiserede ASIP (Application-Specific Instruction-set Processor) og TTA-processorer (Transport Triggered Architecture) med VLIW-arkitektur.

Implementation af OpenCL-kernelkompilatoren er baseret på LLVM, mens Clang bruges som frontend til OpenCL C. For at sikre ordentlig bærbarhed og ydeevne kan kompileringskoden generere kombinerede funktioner, som kan udnytte forskellige hardware-ressourcer til parallel udførelse af koden, såsom VLIW, superskalaritet, SIMD, SIMT, flerkernede og multitrådede muligheder. Der er støtte for ICD-drivere (Installable Client Driver). Backend-løsninger er tilgængelige til at understøtte drift gennem CPU, ASIP (TCE/TTA), HSA-arkitektur GPU og NVIDIA GPU (via libcuda).

I den nye version:

  • En ny backend 'Remote' er implementeret, designet til at organisere distribuerede beregninger ved at flytte behandlingen af OpenCL-kommandoer til andre værter i netværket, hvor baggrundsprocessen pocld kører.
  • Der er tilføjet yderligere funktioner og udvidelser til OpenCL 3.0 i CUDA-driveren, såsom atomare operationer, variabler med begrænset synlighed, undergrupper intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier og sub_group_ballot.
  • Understøttelsen af CPU'er baseret på RISC-V-arkitekturen er forbedret. PoCL's funktionalitet er blevet testet på Starfive VisionFive 2 med et indlæst miljø af Ubuntu 23.10 med LLVM 17 og GCC 13.2.
  • Udvidelsen cl_ext_float_atomics med støtte for FP32 og FP64 er implementeret.
  • Implementeringen af udvidelsen cl_khr_command_buffer er blevet opdateret til version 0.9.4.
  • En eksperimentel backend AlmaIF til FPGA er foreslået.
  • Den uafsluttede understøttelse af mellemrepræsentationen af shaders SPIR 1.x/2.0 er blevet fjernet. SPIR-V er blevet angivet som det anbefalede mellemrepræsentationssprog for shaders.
  • Understøttelse af Clang/LLVM 17.0 er blevet tilføjet. Understøttelsen af Clang/LLVM 10-13 er blevet erklæret forældet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster