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 .
Até a próxima !!
Nenhum comentário:
Postar um comentário