Lanzamento de PoCL 1.3, unha implementación independente do estándar OpenCL

Está dispoñible unha versión do proxecto PoCL 1.3 (Portable Computing Language OpenCL), que desenvolve unha implementación do estándar OpenCL que é independente dos fabricantes de aceleradores de gráficos e permite o uso de varios backends para executar núcleos OpenCL en diferentes tipos de gráficos e procesadores centrais. . O código do proxecto distribúese baixo a licenza MIT. Admite o funcionamento en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU e varios procesadores especializados TTA (Transport Triggered Architecture) con arquitectura VLIW.

A implementación do compilador do núcleo OpenCL está construída sobre a base de LLVM, e Clang úsase como interface para OpenCL C. Para garantir a portabilidade e o rendemento axeitados, o compilador do núcleo OpenCL pode xerar funcións combinadas que poden usar varios recursos de hardware para paralelizar a execución de código, como VLIW, superescalar, SIMD, SIMT, multi-core e multi-threading. Soporte de controlador ICD dispoñible
(Controlador de cliente instalable). Hai backends para admitir o funcionamento mediante CPU, ASIP (TCE/TTA), GPU baseada na arquitectura HSA e NVIDIA GPU (CUDA).

A nova versión engade soporte para LLVM/Clang 8.0. Ofrece soporte para ICD (Controlador de cliente instalable) na plataforma macOS. Implementouse a capacidade de construír pocl sen controladores de backend para a CPU. Para HSA (Arquitectura de sistema heteroxéneo), ofrécese soporte inicial para compilar ISA ademais do tempo de execución HSA. Limpouse a base de código, incluída a biblioteca Vecmathlib e detívose o soporte para versións antigas de LLVM (menos de 6.0).

Fonte: opennet.ru

Engadir un comentario