Lanzamiento de PoCL 1.3, una implementación independiente del estándar OpenCL

Está disponible una versión del proyecto PoCL 1.3 (Portable Computing Language OpenCL), que desarrolla una implementación del estándar OpenCL que es independiente de los fabricantes de aceleradores de gráficos y permite el uso de varios backends para ejecutar kernels OpenCL en diferentes tipos de gráficos y procesadores centrales. . El código del proyecto se distribuye bajo la licencia MIT. Admite la operación en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU y varios procesadores TTA (Transport Triggered Architecture) especializados con arquitectura VLIW.

La implementación del compilador del kernel OpenCL se basa en LLVM y Clang se utiliza como interfaz para OpenCL C. Para garantizar la portabilidad y el rendimiento adecuados, el compilador del kernel OpenCL puede generar funciones combinadas que pueden utilizar varios recursos de hardware para paralelizar la ejecución de código, como VLIW, superescalar, SIMD, SIMT, multinúcleo y multiproceso. Soporte de controlador ICD disponible
(Controlador de cliente instalable). Hay backends para admitir la operación a través de CPU, ASIP (TCE/TTA), GPU basada en arquitectura HSA y GPU NVIDIA (CUDA).

La nueva versión agrega soporte para LLVM/Clang 8.0. Proporciona soporte para ICD (controlador de cliente instalable) en la plataforma macOS. Se implementó la capacidad de compilar pocl sin controladores de backend para la CPU. Para HSA (arquitectura de sistema heterogéneo), se proporciona soporte inicial para compilar ISA además del tiempo de ejecución de HSA. Se limpió la base del código, incluida la biblioteca Vecmathlib, se eliminó y se detuvo la compatibilidad con versiones anteriores de LLVM (menos de 6.0).

Fuente: opennet.ru

Añadir un comentario