Um exemplo das simulações que os pesquisadores gostariam de realizar com K-Athena. A imagem mostra uma fatia através de uma caixa tridimensional de uma simulação de turbulência conduzida ilustrando a densidade de fluido / plasma. Crédito:Grete, Glines e O'Shea.
Executar simulações em grande escala é um aspecto crucial da pesquisa científica moderna, ainda assim, muitas vezes requer uma grande quantidade de recursos computacionais. À medida que nos aproximamos da era da computação exascale, que será marcado pela introdução de supercomputadores de alto desempenho, pesquisadores têm tentado desenvolver novas arquiteturas e códigos para atender aos enormes requisitos computacionais de nossos tempos. Uma propriedade importante a se considerar ao desenvolver códigos para a era da computação exascale é a portabilidade de desempenho, que evita a repetição, refatoração não trivial de um código para diferentes arquiteturas.
Para este fim, pesquisadores da Michigan State University desenvolveram recentemente o K-Athena, um código magnetohidrodinâmico portátil de desempenho (MHD). Os códigos magnetohidrodinâmicos (MHD) são técnicas e algoritmos numéricos que podem ajudar a resolver problemas relativos a fluidos condutores de eletricidade. O código dos pesquisadores, apresentado em um artigo pré-publicado no arXiv, combina Athena ++, um código MHD existente, com Kokkos, um paradigma de programação paralela no nó portátil de desempenho.
"No processo contínuo de desenvolvimento dos primeiros supercomputadores exascale, ficou claro que as arquiteturas de hardware atuais são inadequadas para atingir esse objetivo e que novas arquiteturas são necessárias, "Philipp Grete, um dos pesquisadores que realizou o estudo, disse TechXplore. "Do ponto de vista do software, novas arquiteturas geralmente requerem uma reescrita significativa do código existente para fazer uso eficiente de novos recursos de hardware. A pesquisa em nosso grupo se baseia em simulações detalhadas em grande escala e queremos estar prontos para usar os novos supercomputadores em todo o seu potencial no momento em que estiverem disponíveis. "
O objetivo subjacente do estudo realizado por Grete e seus colegas era tornar portáteis os códigos que eles costumam usar em seu desempenho de pesquisa. Em outras palavras, os pesquisadores queriam que seus códigos funcionassem com alta eficiência em muitas arquiteturas diferentes, usando uma única base de código.
"Originalmente, K-Athena foi planejado como uma prova de conceito combinando Kokkos (uma biblioteca de portabilidade de desempenho) com Athena ++ (um código de CPU existente) para permitir simulações aceleradas por GPU, "Grete explicou." No entanto, ao longo do projeto e enquanto observava o desempenho, ficou claro que K-Athena se tornou mais do que uma prova de conceito e agora é um flexível, código pronto para produção que é executado em qualquer arquitetura. Com este artigo, queríamos compartilhar nossa experiência e o próprio código com a comunidade em geral. "
Mais um exemplo das simulações que os pesquisadores gostariam de realizar com K-Athena. A imagem mostra uma representação em volume de um vórtice Taylor-Green em decomposição (problema de transição para turbulência) ilustrando estruturas vorticais / rotacionais (superfícies) e linhas de campo magnético (vermelhas). Crédito:Grete, Glines e O'Shea.
K-Athena funciona abstraindo os componentes mais caros do ponto de vista computacional de uma determinada simulação. Em tempo de compilação (ou seja, quando um código-fonte é traduzido em código de máquina / hardware), a biblioteca Kokkos do código substitui essas abstrações por construções que são ideais para a máquina ou hardware específico empregado pelo usuário.
"Esta abordagem é diferente de outros códigos legados que muitas vezes mantêm várias bases de código para permitir simulações em diferentes arquiteturas, como CPUs ou GPUs, "Grete disse." De um modo geral, a principal vantagem do K-Athena é que o cientista natural agora pode se concentrar no próprio conteúdo da simulação e não precisa se preocupar em otimizar o código e / ou escrever várias versões do código-fonte para diferentes arquiteturas. Este último é 'terceirizado' para os cientistas da computação que trabalham no Kokkos junto com os fornecedores de hardware. "
Testes realizados por Grete e seus colegas sugerem que a portabilidade de desempenho do K-Athena realmente funciona. Na verdade, o código deles funcionou com eficiência no primeiro, nono, 24 º e 33 rd entre os supercomputadores mais rápidos do mundo, abrangendo quatro arquiteturas diferentes. Os pesquisadores também demonstraram a escalabilidade de sua abordagem, aplicando-a a praticamente todo o supercomputador Summit (atualmente o mais rápido do mundo), cerca de dois meses depois de ter sido oficialmente lançado no início deste ano.
“De um ponto de vista geral, Esperamos que nossas descobertas encorajem outros grupos de pesquisa a também explorar a portabilidade de desempenho em seus códigos, eventualmente aumentando a produtividade científica (gastando mais tempo em ciência e menos reescrevendo / otimizando código) ou para construir o código que publicamos, "Grete disse.
O estudo realizado por Grete e seus colegas oferece um exemplo valioso de como o código pode ser adaptado para atender aos grandes requisitos computacionais da era moderna. Em seu jornal, os pesquisadores descrevem suas estratégias de implementação e os desafios que encontraram ao tentar maximizar o desempenho computacional. Eles esperam que sua experiência e visão inspirem outras equipes de pesquisa a começar a preparar seus códigos e arquitetura para a era exascale.
"Nosso grupo está geralmente interessado em turbulência magnetizada e plasmas difusos como encontrados em muitos sistemas astrofísicos, "Grete acrescentou." Pretendemos usar K-Athena para simular aqueles com detalhes sem precedentes, tanto no que diz respeito à resolução e à física que podemos incluir. Isso nos permitirá lidar com questões não respondidas que exigem grandes escalas dinâmicas (por exemplo, no que diz respeito às transferências de energia em plasmas espaciais) ou relacionadas a efeitos de pequena escala, como a amplificação do campo magnético através do dínamo de pequena escala. "
© 2019 Science X Network