Release of PoCL 6.0 with an independent implementation of the OpenCL standard

Utgivningen av projektet PoCL 6.0 (Portable Computing Language OpenCL), som utvecklar en implementation av OpenCL-standarden som Àr oberoende av grafikkortsproducenter och gör det möjligt att anvÀnda olika backend-lösningar för att köra OpenCL-kÀrnor pÄ olika typer av grafiska och centrala processorer, har publicerats. Koden för projektet distribueras under MIT-licensen. Plattformar som stöds inkluderar 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.

Implementation av OpenCL-kÀrnkompilatorn bygger pÄ LLVM, medan Clang anvÀnds som frontend för OpenCL C. För att sÀkerstÀlla lÀmplig portabilitet och prestanda kan kompilatorn för OpenCL-kÀrnor generera kombinerade funktioner som kan anvÀnda olika hÄrdvaruresurser för att parallellisera körningen av koden, sÄsom VLIW, superskalÀr, SIMD, SIMT, flerprocessorkonstruktion och flertrÄdad körning. ICD-drivrutiner stöds.
(Installable Client Driver). Backend-lösningar finns för att möjliggöra drift via CPU, ASIP (TCE/TTA), GPU baserade pÄ HSA-arkitekturen och NVIDIA GPU (via libcuda).

I den nya versionen:

  • Stödet för Clang/LLVM 18.0 har lagts till, medan stödet för LLVM 10, 11, 12 och 13 har upphört.
  • En ny cpu-tbb backend har implementerats, vilket anvĂ€nder OneTBB-biblioteket, utvecklat av Intel, för att parallellisera operationer och schemalĂ€gga körningen av uppgifter.
  • I cpu-backenden, som möjliggör körning av OpenCL-kĂ€rnor pĂ„ CPU, har stöd för den parallella programmeringsstandarden OpenMP lagts till, metoden clGetDeviceAndHostTimer() har lagts till, samt experimentella tillĂ€gg som cl_pocl_svm_rect, cl_pocl_command_buffer_svm och cl_pocl_command_buffer_host_buffer har implementerats.
  • I backend "Remote", som syftar till att organisera distribuerade berĂ€kningar genom att flytta bearbetning av OpenCL-kommandon till andra vĂ€rdar i nĂ€tverket dĂ€r bakgrundsprocessen pocld körs, har stöd för CG SVM (Coarse-Grain Shared Virtual Memory) lagts till, möjligheten att nĂ„ backend med kommunikationsprotokollet Vsock har lagts till och stöd för kompilering och lĂ€nkning av program genom funktionerna clCompileProgram() och clLinkProgram() har implementerats.
  • I LevelZero-backenden, som anvĂ€nder Level Zero API, har det blivit möjligt att skapa buffertar som Ă€r större Ă€n 4 GB och optimeringar av synkroniseringsprocesserna har implementerats.
  • I CUDA-backenden har operationer sĂ„som sub_group_shuffle och sub_group_shuffle_xor implementerats, och grĂ€nsen för CL_DEVICE_MAX_MEM_ALLOC_SIZE har ökat.

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