Construindo Aplicações de Alto Desempenho na Era da Computação Acelerada

por John Linfor

A IA está aumentando a computação de alto desempenho (HPC) com novas abordagens para processamento de dados, simulação e modelagem. Devido aos requisitos computacionais dessas novas cargas de trabalho de IA, a HPC está aumentando em um ritmo rápido.

Para permitir que as aplicações sejam dimensionadas para plataformas multi-GPU e multi-node, as ferramentas e bibliotecas de HPC devem suportar esse crescimento. A NVIDIA fornece um ecossistema abrangente de soluções de software HPC aceleradas para ajudar sua aplicação a atender às demandas de cargas de trabalho modernas orientadas por IA.

SDK de HPC 24.3

Além de correções de bugs e melhorias no desempenho em tempo de compilação dos compiladores HPC, o HPC SDK 24.3 tem novos recursos que suportam um melhor desenvolvimento nos mais recentes sistemas NVIDIA Grace Hopper.

Os compiladores NVIDIA HPC fornecem um modo de compilação de memória unificado ao usar diretivas OpenMP Target Offload para programação de GPU. Isso se soma ao suporte existente para memória unificada dos sistemas Grace Hopper e HMM nos modelos de programação OpenACC, CUDA Fortran e Standard Parallelism (stdpar), que são habilitados em nvc++ e nvfortran por meio do sinalizador de linha de comando -gpu=unified .

Para programas CUDA Fortran, o atributo unificado foi adicionado para fornecer informações de tipo adicionais que permitem que as aplicações sejam otimizados ainda mais para sistemas de memória unificados, como o Grace Hopper.

Todos esses recursos e outros aprimoramentos de desempenho estão disponíveis agora na versão HPC SDK 24.3. Para obter mais informações, consulte as notas de versão do HPC SDK 24.3.

Bibliotecas de Desempenho NVIDIA para a CPU Grace

Os modelos de IA estão transformando a nuvem, a hiperescala e as cargas de trabalho científicas. Eles estão sendo rapidamente dimensionados nessas diversas configurações. A CPU NVIDIA Grace aborda a crescente complexidade e tamanho dos modelos de IA, oferecendo alto desempenho, eficiência energética e conectividade de alta largura de banda. Ele acopla firmemente a CPU e a GPU no data center da NVIDIA.

Para acelerar as cargas de trabalho da CPU em sua aplicação, as Bibliotecas de Desempenho da NVIDIA (NVPL) fornecem substituições para as bibliotecas matemáticas padrão do setor que muitas aplicações usam atualmente. A NVPL é otimizada para a CPU Grace e permite que você faça a portabilidade de aplicações para a arquitetura Grace sem a necessidade de alterações no código-fonte.

NVPL está disponível agora no HPC SDK 24.3. Esta versão inclui

A NVPL também está disponível para download autônomo, que inclui o NVPL TENSOR para acelerar o deep learning e a inferência em CPUs Grace com operações de contração, redução e elementwise do Tensor.

Ferramentas para Criar e Otimizar Microsserviços

A demanda por soluções escaláveis em nuvem e aplicações de computação de alto desempenho está aumentando rapidamente. À medida que as aplicações se expandem entre data centers e nuvens, as Ferramentas de Desenvolvedor NVIDIA Nsight estão evoluindo para ajudar.

Novos recursos estão sendo introduzidos no Nsight Systems 2024.2 para ajudá-lo a criar e otimizar microsserviços.

O suporte à criação de perfil foi aprimorado para sistemas de contêiner como Kubernetes e Docker, incluindo serviços CSP Kubernetes de grandes provedores, incluindo Azure, Amazon, Oracle e Google.

Os scripts Python chamados de receitas permitem que você faça análises de um e vários nós à medida que as aplicações são executadas no data center. Em seguida, a Nsight Systems visualiza as principais métricas usando a integração com o JupyterLab.

Já disponíveis, receitas para análise de redes revelam como os pontos frios da computação se relacionam com a comunicação. Você pode gerar mapas de calor de vários nós que identificam onde otimizar a taxa de transferência do InfiniBand e do NVLink para obter o máximo desempenho.

Para encontrá-lo onde você está escrevendo código, o desenvolvimento do servidor é habilitado por um contêiner de streaming de GUI remoto. O Nsight Systems também se integra perfeitamente ao Jupyter Lab, permitindo que você crie o perfil do código e visualize resultados textuais diretamente no Jupyter ou inicie o contêiner de streaming GUI para uma análise aprofundada.

Faça o donwload do Nsight Systems 2024.2 hoje. Comece agora com as ferramentas e tutoriais.

Bibliotecas Matemáticas Aceleradas por GPU CUDA

As bibliotecas matemáticas aceleradas por GPU CUDA permitem o desempenho máximo em aplicações HPC. Disponível agora, o cuDSS (preview) é uma biblioteca de solver esparsa direta e acelerada por GPU para resolver sistemas lineares de matrizes esparsas, comuns em condução autônoma e simulações de processos. Para obter mais informações, consulte Spotlight: Honeywell Accelerates Industrial Process Simulation with NVIDIA cuDSS.

Subrotinas básicas de álgebra linear (BLAS) são fundamentais para aplicações de IA e HPC. cuBLAS fornece BLAS acelerado por GPU para executá-los no máximo desempenho. Disponível no CUDA Toolkit 12.4, o cuBLAS adiciona suporte experimental GEMM (multiplicação de matriz geral) agrupado em lote para cálculos de precisão simples e dupla. O modo de lote agrupado permite que você resolva simultaneamente GEMMs com as seguintes diferenças:

  • Dimensões (m, n, k)
  • Dimensões principais (lda, ldb, ldc)
  • Transposições (transa, transb)
  • Fatores de escala (alfa, beta)

A fusão de operações numéricas em um kernel CUDA reduz a sobrecarga de acesso à memória e a sobrecarga de inicialização do kernel, melhorando o desempenho para aplicações acelerados por GPU. Ambas as bibliotecas já estão disponíveis para download autônomo:

  • cuBLASDx permite que você explore operações numéricas de fusão para BLAS.
  • cuFFTDx fornece essa mesma funcionalidade para Fast Fourier Transforms (FFT), frequentemente usadas em aplicações de deep learning e visão computacional.

Além disso, o cuTENSOR 2.0 já está disponível, reformulando a biblioteca cuTENSOR para melhorar a velocidade e a flexibilidade. O cuTENSOR fornece rotinas otimizadas para cálculos de tensores (elementar, redução e contração) que aceleram o treinamento e a inferência para redes neurais.

A versão 2.0 atualiza a biblioteca em desempenho e funcionalidade, incluindo suporte para compilação de kernel just-in-time. Para obter mais informações, consulte cuTENSOR 2.0: A Comprehensive Guide for Accelerating Tensor Computations.

Bibliotecas Matemáticas Multi-GPU Multi-Node

A computação distribuída fornece infraestrutura para as demandas computacionais de IA. As tarefas de processamento de dados em grande escala são distribuídas e paralelizadas em vários nós e GPUs para acelerar o tempo de treinamento e inferência. À medida que as aplicações HPC se expandem, as bibliotecas matemáticas fundamentais também devem oferecer suporte ao novo cenário de vários nós de várias GPUs da computação.

As bibliotecas matemáticas CUDA fornecem algoritmos matemáticos chave para essas aplicações de computação intensiva. Disponível agora, as extensões de API do host permitem que bibliotecas matemáticas resolvam problemas em exascala.

cuBLASMp (prévia) é uma biblioteca multiprocesso de alto desempenho para álgebra linear distribuída, básica e densa. Está disponível no SDK HPC e para download autônomo. A biblioteca aproveita a aceleração do Núcleo Tensor, enquanto se comunica eficientemente entre GPUs e sincroniza seus processos.

A NVIDIA também fornece cuSOLVERMp para resolver sistemas lineares distribuídos e densos e problemas de autovalor, bem como cuFFTMp para resolver FFTs em plataformas multi-GPU multi-node.

Comece a usar as bibliotecas matemáticas CUDA hoje mesmo.

Conclusão

Para permitir que as aplicações sejam dimensionadas em plataformas de vários nós com várias GPUs, a NVIDIA fornece um ecossistema de ferramentas, bibliotecas e compiladores para computação acelerada em escala. A computação acelerada é o mecanismo para aplicações de HPC impulsionadas por IA. Aprofunde-se em tópicos de computação acelerada no fórum de desenvolvedores de Computação Acelerada.