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

Disponível liberação do projeto PoCL 1.4 (Portable Computing Language OpenCL), que desenvolve uma implementação do padrão OpenCL independente dos fabricantes de aceleradores gráficos e permite o uso de diversos backends para execução de kernels OpenCL em diferentes tipos de gráficos e processadores centrais. Código do projeto distribuído por sob licença do MIT. Suporta trabalho em plataformas X86_64, MIPS32, ARM v7, AMD HSA APU e vários processadores TTA especializados (Arquitetura acionada por transporte) 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 garantir a operação via CPU, ASIP (TCE/TTA), arquitetura baseada em GPU HSA e GPU NVIDIA (CUDA).

В nova versão:

  • Suporte adicionado LLVM/Clang 9.0. O suporte para versões LLVM anteriores à 6.0 foi descontinuado.
  • Implementação aprimorada baseada em CPU de representações de código intermediário ESPÍRITO и SPIR-V (usado na API Vulkan), que pode ser usado tanto para representar shaders para gráficos quanto para computação paralela;
  • Adicionado driver pocl-accel com um exemplo de infraestrutura para suportar aceleradores de hardware OpenCL 1.2 que implementam uma interface de controle mapeada em memória (mmap);
  • Adicionada a capacidade de construir instalações pocl que não estão vinculadas a diretórios (relocáveis).

Fonte: opennet.ru

Adicionar um comentário