A versão 1.2 do ChipStar foi lançada como uma ferramenta de código aberto que facilita a execução de programas HIP/CUDA em diferentes dispositivos, usando tecnologias amplamente compatíveis como SPIR-V, OpenCL e Vulkan.
O ChipStar 1.2 é uma solução inovadora que permite que programas desenvolvidos com HIP (uma plataforma de programação para dispositivos de alto desempenho) e CUDA (a tecnologia da NVIDIA para executar tarefas complexas em GPUs) sejam executados em uma variedade de dispositivos de diferentes fabricantes. Isso é possível graças à utilização de SPIR-V, que é um tipo de linguagem intermediária usada para representar esses programas de maneira que diferentes tecnologias, como OpenCL (um padrão de programação para executar tarefas em diversos tipos de processadores) e Vulkan (uma interface gráfica de alto desempenho), possam compreender e executar.
Ao rodar esses programas no SPIR-V, o ChipStar permite que eles sejam compatíveis com uma ampla gama de dispositivos, desde placas gráficas até processadores, mesmo que sejam de fabricantes diferentes. A versão anterior, ChipStar 1.1, já permitia que grandes programas científicos e de computação avançada fossem executados, mas o ChipStar 1.2 vem com ainda mais aprimoramentos.
Explicando as melhorias em detalhes
Nesta nova versão, foi introduzido o “cucc”, que é uma substituição simples para o compilador “nvcc” da NVIDIA, uma ferramenta usada para converter programas CUDA em código que pode ser executado em GPUs da NVIDIA. Agora, com o cucc, é possível fazer isso em dispositivos que não são necessariamente da NVIDIA, ampliando o alcance dos programas CUDA.
Além disso, o suporte ao OpenCL foi aprimorado com a adição de uma extensão chamada buffer device address, que melhora a maneira como o sistema gerencia o acesso aos dados na memória, tornando as operações mais rápidas e eficientes. Houve também melhorias na forma como o ChipStar mede o desempenho dos programas e no perfilamento das filas, ou seja, como ele organiza as tarefas que precisam ser executadas, otimizando ainda mais o uso dos recursos do sistema.
Melhorias no suporte a diferentes fabricantes
Para o sistema da Intel, chamado oneAPI Level Zero, o ChipStar 1.2 corrigiu vários problemas, incluindo erros relacionados à falta de memória e melhorias na segurança do uso simultâneo de múltiplos processos (thread safety). Isso significa que os desenvolvedores terão menos problemas com travamentos e bugs durante a execução de seus programas.
Já no suporte à AMD, o ChipStar 1.2 agora funciona com a versão HIP 6.x, que faz parte do ROCm 6 (uma plataforma aberta da AMD para computação de alto desempenho). Além disso, agora há suporte a importantes bibliotecas como hipBLAS (para operações com matrizes), hipFFT (para transformadas rápidas de Fourier, muito usadas em processamento de sinais), e rocRAND (para geração de números aleatórios), aumentando a gama de programas que podem ser executados com o ChipStar.
Primeiros testes e avanços futuros
Outro ponto interessante deste lançamento é que a equipe já iniciou os testes de execução de programas HIP/CUDA em processadores RISC-V, que é uma arquitetura de processador aberta e flexível, ainda em fase de crescimento. Esse tipo de compatibilidade pode ser extremamente útil para o futuro, permitindo que mais dispositivos possam executar tarefas de computação complexas.
De forma geral, o ChipStar 1.2 é descrito pelos desenvolvedores como uma atualização importante, que melhora a estabilidade e o desempenho da plataforma, além de aumentar o suporte a bibliotecas e dispositivos de diferentes fabricantes.
Para mais informações sobre o ChipStar 1.2 e para baixar a nova versão, acesse a página oficial no GitHub.