Release av PoCL 5.0 med oberoende implementering av OpenCL-standarden

Projektet PoCL 5.0 (Portable Computing Language OpenCL) har slÀppts, vilket utvecklar en implementering av OpenCL-standarden, oberoende av grafikkortsleverantörer och möjliggör anvÀndning av olika backend-lösningar för att utföra OpenCL-kÀrnor pÄ olika typer av grafiska och centrala processorer. Projektets kod distribueras under MIT-licensen. Stöd för plattformar som X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU och olika specialiserade ASIP (Application-Specific Instruction-set Processor) och TTA-processorer (Transport Triggered Architecture) med VLIW-arkitektur stöds.

Implementeringen av OpenCL-kÀrnkompilatorn bygger pÄ LLVM, och Clang anvÀnds som frontend för OpenCL C. För att sÀkerstÀlla lÀmplig portabilitet och prestanda kan OpenCL-kÀrnkompilatorn generera kombinerade funktioner som kan dra nytta av olika hÄrdvaruresurser för att parallellisera kodens utförande, sÄsom VLIW, superskalÀr, SIMD, SIMT, flerkÀrniga och flertrÄdade miljöer. Det finns stöd för ICD-drivrutiner (Installable Client Driver). Det finns backends för att möjliggöra drift genom CPU, ASIP (TCE/TTA), HSA-baserade GPU:er och NVIDIA GPU:er (via libcuda).

I den nya versionen:

  • En ny backend "Remote" har implementerats, avsedd för att organisera distribuerade berĂ€kningar genom att flytta bearbetningen av OpenCL-kommandon till andra vĂ€rdar i nĂ€tverket, dĂ€r bakgrundsprocessen pocld körs.
  • I CUDA-drivrutinen har ytterligare funktioner och utvidgningar av OpenCL 3.0 införts, sĂ„som atomĂ€ra operationer, variabler med begrĂ€nsad synlighet, undergrupper intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier och sub_group_ballot.
  • Stödet för CPU:er baserade pĂ„ RISC-V-arkitekturen har förbĂ€ttrats. PoCLs funktion har testats pĂ„ Starfive VisionFive 2-kortet med Ubuntu 23.10-miljön laddad med LLVM 17 och GCC 13.2.
  • Utvidgningen cl_ext_float_atomics har implementerats med stöd för FP32 och FP64.
  • Implementeringen av utvidgningen cl_khr_command_buffer har uppdaterats till version 0.9.4.
  • En experimentell backend AlmaIF för FPGA har föreslagits.
  • Stödet för det ofullstĂ€ndiga mellanliggande representationssystemet SPIR 1.x/2.0 har tagits bort. SPIR-V har deklarerats som det rekommenderade mellanliggande sprĂ„ket för shaders.
  • Stöd för Clang/LLVM 17.0 har lagts till. Stödet för Clang/LLVM 10-13 har förklarats som förĂ„ldrat.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster