Key points are not available for this paper at this time.
Este artigo apresenta um gerador de código projetado para operadores de elementos finitos sem matriz otimizados em nível de nó e escaláveis de forma extrema em redes tetraédricas híbridas. Ele otimiza a avaliação local de formas bilineares através de várias técnicas, incluindo tabulação, realocação de invariantes de loop e vetorização interelementar - implementadas como transformações de uma árvore de sintaxe abstrata. Uma contribuição chave é o desenvolvimento, análise e geração de padrões de loop eficientes que aproveitam a estrutura local da rede tetraédrica subjacente. Isso melhora significativamente a localidade de cache e a intensidade aritmética, mitigando a pressão de largura de banda associada a operadores esparsos em computação e de baixa ordem. O artigo demonstra as capacidades do gerador através de um ciclo educacional abrangente de análise de desempenho, identificação de gargalos e emissão de otimizações dedicadas. Para três operadores diferenciais (-, - (k (x) \, \, ), (x) \, curl\ curl + (x)), determinamos o conjunto de otimizações mais eficazes. Aplicadas pelo gerador, resultam em acelerações de até 58 em comparação com implementações de referência. A análise detalhada de desempenho em nível de nó gera operadores sem matriz com uma taxa de transferência de 1,3 a 2,1 GDoF/s, alcançando até 62% de desempenho máximo em um soquete Intel Ice Lake de 36 núcleos. Finalmente, a solução do problema do curl-curl com mais de um trilhão (10^12) de graus de liberdade em 21504 processos em menos de 50 segundos demonstra o desempenho dos operadores gerados e a escalabilidade extrema como parte de um solucionador multigrid completo.
Böhm et al. (Fri,) estudaram esta questão.