Lançamento do PoCL 1.3, uma implementação independente do padrão OpenCL

Está disponível uma versão do projeto PoCL 1.3 (Portable Computing Language OpenCL), que desenvolve uma implementação do padrão OpenCL independente de fabricantes de aceleradores gráficos e permite o uso de vários backends para execução de kernels OpenCL em diferentes tipos de gráficos e processadores centrais . O código do projeto é distribuído sob a licença do MIT. Suporta operação em plataformas X86_64, MIPS32, ARM v7, AMD HSA APU e vários processadores TTA (Transport Triggered Architecture) especializados com arquitetura VLIW.

A implementação do compilador de kernel OpenCL é construída com base no LLVM e o Clang é usado como front-end para OpenCL C. Para garantir portabilidade e desempenho adequados, o compilador do kernel OpenCL pode gerar funções combinadas que podem usar vários recursos de hardware para paralelizar a execução de código, como VLIW, superescalar, SIMD, SIMT, multi-core e multi-threading. Suporte ao driver ICD disponível
(Driver cliente instalável). Existem backends para suportar operação via CPU, ASIP (TCE/TTA), GPU baseada na arquitetura HSA e GPU NVIDIA (CUDA).

A nova versão adiciona suporte para LLVM/Clang 8.0. Fornece suporte para ICD (driver de cliente instalável) na plataforma macOS. Implementada a capacidade de construir pocl sem drivers de back-end para a CPU. Para HSA (Heterogeneous System Architecture), é fornecido suporte inicial para compilar ISAs no tempo de execução HSA. A base de código foi limpa, incluindo a remoção da biblioteca Vecmathlib e o suporte para versões mais antigas do LLVM (menores que 6.0) foi interrompido.

Fonte: opennet.ru

Adicionar um comentário