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

Disponible lanzamiento del proyecto PoCL 1.4 (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. Código de proyecto distribuido por bajo licencia MIT. Admite el trabajo en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU y varios procesadores TTA especializados (Arquitectura activada por transporte) 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 garantizar el funcionamiento a través de CPU, ASIP (TCE/TTA) y arquitectura basada en GPU. HSA y GPU NVIDIA (CUDA).

В nueva versión:

  • Soporte agregado LLVM/Clang 9.0. Se ha interrumpido la compatibilidad con versiones de LLVM anteriores a la 6.0.
  • Implementación mejorada basada en CPU de representaciones de código intermedio SPIR и ESPIR-V (utilizado en la API de Vulkan), que se puede utilizar tanto para representar sombreadores de gráficos como para computación paralela;
  • Se agregó el controlador pocl-accel con una infraestructura de ejemplo para admitir aceleradores de hardware OpenCL 1.2 que implementan una interfaz de control asignada en memoria (mmap);
  • Se agregó la capacidad de crear instalaciones pocl que no están vinculadas a directorios (reubicables).

Fuente: opennet.ru

Añadir un comentario