Está disponível o lançamento do projeto PoCL 1.3 (Portable Computing Language OpenCL), que desenvolve a implementação do padrão OpenCL, independente de fabricantes de aceleradores gráficos e permitindo o uso de diferentes backends para executar núcleos OpenCL em vários tipos de processadores gráficos e centrais. O código do projeto é distribuído sob a licença MIT. O suporte abrange as plataformas X86_64, MIPS32, ARM v7, APU AMD HSA e vários processadores TTA (Transport Triggered Architecture) especializados com arquitetura VLIW.
A implementação do compilador de núcleos OpenCL é baseada no LLVM, e o Clang é usado como frontend para o OpenCL C. Para garantir a devida portabilidade e desempenho, o compilador de núcleos OpenCL pode gerar funções combinadas que utilizam diversos recursos de hardware para paralelizar a execução do código, como VLIW, superscalaridade, SIMD, SIMT, multi-core e multithreading. O suporte a drivers ICD está disponível.
(Installable Client Driver). Existem backends disponíveis para garantir a operação via CPU, ASIP (TCE/TTA), GPU baseada na arquitetura HSA e GPU NVIDIA (CUDA).
Na nova versão, foi adicionado suporte ao LLVM/Clang 8.0. O suporte ao ICD (Installable Client Driver) na plataforma macOS foi garantido. Foi implementada a possibilidade de construir o pocl sem drivers de backend para CPU. Para HSA (Heterogeneous System Architecture), foi apresentada a suporte inicial para compilação ISA sobre o runtime HSA. A base de código foi limpa, incluindo a remoção da biblioteca Vecmathlib e a descontinuação do suporte para versões antigas do LLVM (inferiores a 6.0).
Fonte: opennet.ru
