Lanzamento de PoCL 3.0 con implementación independente do estándar OpenCL 3.0

Preséntase o lanzamento do proxecto PoCL 3.0 (Portable Computing Language OpenCL), que desenvolve unha implementación do estándar OpenCL independente dos fabricantes de aceleradores gráficos e que 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 traballo en plataformas X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU e varios procesadores especializados ASIP (Application-Specific Instruction-set Processor) e 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. Hai soporte para controladores ICD (Controlador de cliente instalable). Hai backends para admitir o funcionamento mediante CPU, ASIP (TCE/TTA), GPU baseada na arquitectura HSA e GPU NVIDIA (a través de libcuda).

Na nova versión:

  • Implementouse o conxunto mínimo de funcións necesarias para admitir a especificación OpenCL 3.0. O soporte de OpenCL 3.0 só está dispoñible actualmente en backends baseados en CPU con LLVM 14 (outros backends e versións antigas de LLVM ofrecen soporte para OpenCL 1.2).
  • Engadido soporte para Clang/LLVM 14.
  • Trazado e visualización mellorados.
  • Engadido soporte para xerar grupos especializados de funcións e incluílos en ficheiros executables con núcleos OpenCL.

Fonte: opennet.ru

Engadir un comentario