Vortex — GPGPU aberto baseado na arquitetura RISC-V, compatível com OpenCL

Um grupo de pesquisadores do Instituto de Tecnologia da Geórgia está desenvolvendo o projeto de pesquisa Vortex, que oferece uma GPGPU aberta baseada na arquitetura do conjunto de instruções RISC-V, visando realizar cálculos paralelos utilizando a API OpenCL e o modelo de execução SIMT (Single Instruction, Multiple Threads), além de conduzir pesquisas em gráficos 3D e desenvolver novas arquiteturas de GPU. O projeto ainda está na fase de protótipo, operando com FPGAs. Os esquemas, descrições de blocos de hardware em Verilog, simuladores, drivers e a documentação do projeto são distribuídos sob a licença BSD.

Na forma atual, é oferecido um ISA padrão RISC-V, ampliado com algumas instruções adicionais necessárias para suportar funções de GPU e gerenciamento de threads. Durante o desenvolvimento, os autores do projeto tentaram minimizar as mudanças na arquitetura do conjunto de instruções RISC-V, utilizando ao máximo as instruções vetoriais já existentes. Uma abordagem semelhante também é aplicada no projeto RV64X, que também desenvolve uma GPU aberta baseada nas tecnologias RISC-V.

Vortex - GPGPU aberto baseado na arquitetura RISC-V, compatível com OpenCL

As capacidades do Vortex para processamento gráfico ainda são limitadas. Foi anunciado o suporte ao OpenGL ES com base no Vortex, mas no próprio GPU, até agora, foi implementada apenas a instrução 'tex' para acelerar o processamento de texturas, que é realizada no nível do fragment shader. Um rasterizador embutido está ausente — toda a operação geométrica é realizada pelo CPU do sistema, enquanto os primitivos básicos para pontos, linhas e triângulos, além do processamento de fragmentos, profundidade e transparência, são implementados usando o núcleo OpenCL.

Vortex - GPGPU aberto baseado na arquitetura RISC-V, compatível com OpenCL

No futuro, está previsto implementar extensões ISA específicas para processamento gráfico, adicionar suporte para as APIs CUDA e Vulkan, bem como extensões para acelerar sistemas de aprendizado de máquina e análise de dados. Para o desenvolvimento de aplicativos, é oferecida uma caixa de ferramentas que inclui opções do PoCL (compilador e runtime OpenCL) adaptadas para trabalhar com Vortex, LLVM/Clang, GCC e Binutils. É suportada a simulação do funcionamento do chip utilizando Verilator (simulador Verilog) e SimX (simulação de software).

Vortex - GPGPU aberto baseado na arquitetura RISC-V, compatível com OpenCL

Principais características do Vortex:

  • Suporte à arquitetura do conjunto de instruções RISC-V RV32IMF.
  • Escalonamento do chip até 64 núcleos com caches L2 e L3 opcionais.
  • Cada núcleo pode executar 1024 threads e operar a uma frequência de 250 MHz.
  • A capacidade computacional máxima é estimada em 128 Gflops, enquanto a largura de banda da memória é de 16 GB/s. A implementação de 32 núcleos, operando a uma frequência de 200 MHz, com a FPGA Altera Stratix 10, demonstrou um desempenho de 25,6 GFlops.
  • Suporte ao padrão OpenCL 1.2.
  • Possibilidade de implementação baseada em FPGA Intel Arria 10 e Intel Stratix 10.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster