Está disponible el lanzamiento del proyecto PoCL 1.3 (Portable Computing Language OpenCL), que desarrolla una implementación del estándar OpenCL, independiente de los fabricantes de aceleradores gráficos y que permite utilizar diferentes backends para ejecutar núcleos OpenCL en varios tipos de procesadores gráficos y centrales. El código del proyecto se distribuye bajo la licencia MIT. Se admite su uso en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU y varios procesadores TTA especializados (Arquitectura de Disparador de Transporte) con arquitectura VLIW.
La implementación del compilador de núcleos OpenCL se basa en LLVM, y se utiliza Clang como frontend para OpenCL C. Para garantizar la adecuada portabilidad y rendimiento, el compilador de núcleos OpenCL puede generar funciones combinadas que pueden utilizar diferentes recursos de hardware para paralelizar la ejecución del código, como VLIW, superescalares, SIMD, SIMT, multicores y multihilo. Se proporciona soporte para controladores ICD.
(Installable Client Driver). Existen backends para garantizar la operación a través de CPU, ASIP (TCE/TTA), GPU basados en la arquitectura HSA y GPU NVIDIA (CUDA).
En la nueva versión se ha añadido soporte para LLVM/Clang 8.0. Se proporciona soporte para ICD (Installable Client Driver) en la plataforma macOS. Se ha implementado la posibilidad de compilar pocl sin controladores backend para CPU. Para HSA (Arquitectura de Sistema Heterogéneo) se presenta el soporte inicial para la compilación de ISA sobre el runtime HSA. Se ha realizado una limpieza de la base de código, incluyendo la eliminación de la biblioteca Vecmathlib y se ha terminado el soporte para versiones anteriores de LLVM (menores a 6.0).
Fuente: opennet.ru
