Liberigo de PoCL 1.4, sendependa efektivigo de la OpenCL-normo

Disponebla projekteldono PoCL 1.4 (Portable Computing Language OpenCL), kiu evoluigas efektivigon de la OpenCL-normo kiu estas sendependa de grafikakcelilproduktantoj kaj permesas la uzon de diversaj backends por ekzekuti OpenCL-kernojn sur malsamaj specoj de grafikaĵoj kaj centraj procesoroj. Projekta kodo distribuita de sub MIT-licenco. Subtenas laboron sur X86_64, MIPS32, ARM v7, AMD HSA APU-platformoj kaj diversaj specialigitaj TTA-procesoroj (Transport Triggered Architecture) kun arkitekturo VLIW.

La efektivigo de la OpenCL-kernkompililo estas konstruita surbaze de LLVM, kaj Clang estas utiligita kiel la antaŭa finaĵo por OpenCL C. Por certigi bonordan porteblon kaj efikecon, la OpenCL-kernkompililo povas generi kombinaĵfunkciojn kiuj povas uzi diversajn hardvarresursojn por paraleligi kodekzekuton, kiel ekzemple VLIW, superskalar, SIMD, SIMT, multi-kern kaj multi-fadenadon. ICD-ŝoforo subteno havebla
(Instalebla Klienta Ŝoforo). Estas backends por certigi funkciadon per CPU, ASIP (TCE/TTA), GPU-bazita arkitekturo HSA kaj NVIDIA GPU (CUDA).

В nova versio:

  • Aldonita subteno LLVM/Clang 9.0. Subteno por LLVM-versioj pli malnovaj ol 6.0 estis nuligita.
  • Plibonigita CPU-bazita efektivigo de mezaj kodreprezentantaroj SPIRO и SPIR-V (uzita en la Vulkan API), kiu povas esti uzata kaj por reprezenti ombrilojn por grafiko kaj por paralela komputado;
  • Aldonita pocl-accel-ŝoforo kun ekzempla infrastrukturo por subteni OpenCL 1.2 hardvarakceliloj kiuj efektivigas memor-mapitan (mmap) kontrolinterfacon;
  • Aldonita la kapablo konstrui pocl-instalaĵojn kiuj ne estas ligitaj al dosierujoj (relokeblaj).

fonto: opennet.ru

Aldoni komenton