lanzamiento del proyecto (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. Código del proyecto bajo la licencia MIT. Se admite el funcionamiento en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU y varios procesadores TTA especializados () con arquitectura .
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.
(Driver de Cliente Instalable). Existen backends para permitir el trabajo a través de CPU, ASIP (TCE/TTA), GPU basados en la arquitectura y GPU NVIDIA (CUDA).
En :
- Se ha añadido soporte para . Se ha descontinuado el soporte para versiones de LLVM anteriores a 6.0.
- Se ha mejorado la implementación basada en CPU de representaciones intermedias de código y (utilizado en la API Vulkan), que pueden aplicarse tanto para representar shaders para gráficos como para cálculos paralelos;
- Se ha añadido un controlador pocl-accel con un ejemplo de infraestructura para soportar aceleradores de hardware OpenCL 1.2, que implementan una interfaz de control reflejada en memoria (mmap);
- Se ha añadido la posibilidad de construir instalaciones de pocl que no están atadas a directorios (relocatable).
Fuente: opennet.ru
