Llançament de PoCL 1.3, una implementació independent de l'estàndard OpenCL

Hi ha disponible una versió del projecte PoCL 1.3 (Portable Computing Language OpenCL), que desenvolupa una implementació de l'estàndard OpenCL que és independent dels fabricants d'acceleradors gràfics i permet l'ús de diversos backends per executar nuclis OpenCL en diferents tipus de gràfics i processadors centrals. . El codi del projecte es distribueix sota la llicència MIT. Admet el funcionament en plataformes X86_64, MIPS32, ARM v7, AMD HSA APU i diversos processadors especialitzats TTA (Transport Triggered Architecture) amb arquitectura VLIW.

La implementació del compilador del nucli OpenCL es construeix sobre la base de LLVM, i Clang s'utilitza com a interfície per a OpenCL C. Per garantir la portabilitat i el rendiment adequats, el compilador del nucli OpenCL pot generar funcions combinades que poden utilitzar diversos recursos de maquinari per paral·lelitzar l'execució de codi, com ara VLIW, superescalar, SIMD, SIMT, multi-nucli i multi-threading. Suport del controlador ICD disponible
(Controlador de client instal·lable). Hi ha backends per admetre el funcionament mitjançant CPU, ASIP (TCE/TTA), GPU basada en l'arquitectura HSA i NVIDIA GPU (CUDA).

La nova versió afegeix suport per a LLVM/Clang 8.0. Proporciona suport per a ICD (Controlador de client instal·lable) a la plataforma macOS. S'ha implementat la capacitat de crear pocl sense controladors de fons per a la CPU. Per a HSA (Heterogeneous System Architecture), es proporciona suport inicial per compilar ISA a la part superior del temps d'execució HSA. Es va netejar la base de codi, inclosa la biblioteca Vecmathlib i es va aturar el suport per a versions anteriors de LLVM (menys de 6.0).

Font: opennet.ru

Afegeix comentari