FERRAMENTAS LINUX: O estado do ROCm para HPC no início de 2021 com o CUDA sendo portando via HIP, reescrevendo com o OpenMP

segunda-feira, 22 de fevereiro de 2021

O estado do ROCm para HPC no início de 2021 com o CUDA sendo portando via HIP, reescrevendo com o OpenMP

 



Confira !!


No início deste mês, na conferência virtual FOSDEM 2021, houve uma apresentação interessante sobre como os desenvolvedores europeus estão se preparando para supercomputadores com tecnologia AMD e começando a descobrir as melhores abordagens para converter o código de GPU NVIDIA CUDA existente para rodar em GPUs Radeon, bem como escrever novos O código focado em GPU com descarregamento de dispositivo OpenMP vale a pena.

Georgios Markomanolis, que é o principal cientista de HPC no CSC, foi o único a apresentar na conferência virtual FOSDEM deste mês sobre a preparação de supercomputadores com GPUs AMD. Seu foco no momento está no supercomputador LUMI EuroHPC, que deve entrar em operação ainda este ano. A LUMI está almejando mais de 550 Peta FLOPS de desempenho máximo com a tecnologia dos processadores AMD EPYC "Milan" e GPUs AMD Instinct (pós MI100, talvez o novo "GFX90A").


Enquanto aguardam o supercomputador, os pesquisadores de HPC na Europa que estão envolvidos com o consórcio LUMI já estiveram ocupados analisando o Radeon Open eCosystem (ROCm) e os métodos disponíveis para explorar o desempenho da GPU em portar bases de código CUDA existentes, bem como as melhores práticas ao escrever um novo código.

Para converter o código CUDA para execução em GPU AMD, o foco está obviamente no uso da interface heterogênea HIP de código aberto da AMD. Com o "Hipify" Clang é como as traduções baseadas em fontes podem ser alcançadas em grande parte a partir de CUDA ou há também Hipify-Perl para a busca / substituição baseada em texto na migração de CUDA para HIP. A partir das abordagens baseadas em HIP, eles têm visto bons resultados com despesas gerais de aproximadamente 2%.

Com o código Fortran, o Hipfort é necessário como biblioteca de interface para o kernel da GPU e mais portabilidade manual em comparação com a tradução automática. Mas com um caso de teste pelo menos em sua versão HIP, eles descobriram que era 30% mais rápido, mas parte disso pelo menos também pode se resumir a diferenças de pilha do compilador, conforme observado.


Os pesquisadores do LUMI também estão explorando o suporte de descarregamento de dispositivos OpenMP da AMD, que foi recentemente atualizado no LLVM e continua sendo desenvolvido no projeto downstream "AOMP". Até agora, eles descobriram que o AOMP tem alguns problemas de desempenho, mas esperam que ele melhore quando o LUMI for implantado. Eles esperam que o HIP tenha um desempenho melhor do que usar o descarregamento do OpenMP, mas pode usar o OpenMP para Fortran ou outras bases de código complicadas.


Os curiosos sobre as experiências ROCm / HIP até agora com pesquisadores europeus se preparando para o LUMI com tecnologia AMD podem ver a apresentação de slides em PDF de Georgios Markomanolis em sua apresentação FOSDEM, bem como as gravações de vídeo WebM / VP9 e MP4 .






Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário