A Arquitetura de GPU NVIDIA Hopper Acelera a Programação Dinâmica em até 40 Vezes Usando as Novas Instruções DPX

Algoritmos de programação dinâmica são usados em saúde, robótica, computação quântica, ciência de dados e muito mais.
por Dion Harris

A arquitetura de GPU NVIDIA Hopper revelada hoje na GTC acelerará a programação dinâmica, uma técnica de resolução de problemas usada em algoritmos para genômica, computação quântica, otimização de rotas e muito mais, em até 40 vezes com novas instruções DPX.

Um conjunto de instruções integrado às GPUs NVIDIA H100, o DPX ajudará os desenvolvedores a escrever código para obter acelerações em algoritmos de programação dinâmica em vários setores, impulsionando workflows para diagnóstico de doenças, simulação quântica, análise de gráficos e otimizações de roteamento.

O Que É Programação Dinâmica?

Desenvolvida na década de 1950, a programação dinâmica é uma técnica popular para resolver problemas complexos com duas técnicas principais: recursão e memorização.

A recursão envolve dividir um problema em subproblemas mais simples, economizando tempo e esforço computacional. Na memorização, são armazenadas as respostas a esses subproblemas, que são reutilizados várias vezes na resolução do problema principal. A memorização aumenta a eficiência, portanto, os subproblemas não precisam ser recalculados quando necessário posteriormente no problema principal.

As instruções DPX aceleram os algoritmos de programação dinâmica em até 7 vezes em uma GPU NVIDIA H100, em comparação com as GPUs baseadas na arquitetura NVIDIA Ampere. Em um nó com quatro GPUs NVIDIA H100, essa aceleração pode ser aumentada ainda mais.

Casos de Uso Abrangem Área da Saúde, Robótica, Computação Quântica, Ciência de Dados

A programação dinâmica é comumente usada em muitos algoritmos de otimização, processamento de dados e omics. Até o momento, a maioria dos desenvolvedores executou esses tipos de algoritmos em CPUs ou FPGAs, mas pode desbloquear acelerações significativas usando instruções DPX em GPUs NVIDIA Hopper.

Omics

A Omics abrange uma variedade de campos biológicos, incluindo genômica (focada no DNA), proteômica (focada nas proteínas) e transcriptômica (focada no RNA). Esses campos, que informam o trabalho crítico de pesquisa de doenças e descoberta de medicamentos, dependem de análises algorítmicas que podem ser aceleradas com instruções DPX.

Por exemplo, os algoritmos de programação dinâmica Smith-Waterman e Needleman-Wunsch são usados ​​para alinhamento de sequências de DNA, classificação de proteínas e dobramento de proteínas. Ambos usam um método de pontuação para medir o quão bem as sequências genéticas de diferentes amostras se alinham.

Smith-Waterman produz resultados altamente precisos, mas consome mais recursos de computação e tempo do que outros métodos de alinhamento. Ao usar instruções DPX em um nó com quatro GPUs NVIDIA H100, os cientistas podem acelerar esse processo em 35 vezes para obter processamento em tempo real, onde o trabalho de chamada de base e alinhamento ocorre na mesma taxa que o sequenciamento de DNA.

Essa aceleração ajudará a democratizar a análise genômica em hospitais em todo o mundo, aproximando os cientistas de fornecer medicamentos personalizados aos pacientes.

Otimização de Rota

Encontrar a rota ideal para várias peças em movimento é essencial para robôs autônomos que se movem por um armazém dinâmico ou até mesmo um remetente transferindo dados para vários receptores em uma rede de computadores.

Para resolver esse problema de otimização, os desenvolvedores contam com Floyd-Warshall, um algoritmo de programação dinâmica usado para encontrar as distâncias mais curtas entre todos os pares de destinos em um mapa ou gráfico. Em um servidor com quatro GPUs NVIDIA H100, a aceleração Floyd-Warshall é aumentada em 40 vezes em comparação com um servidor tradicional somente com CPU de soquete duplo.

Emparelhado com o software AI de logística NVIDIA cuOpt, essa aceleração na otimização de roteamento pode ser usada para aplicações em tempo real em fábricas, veículos autônomos ou algoritmos de mapeamento e roteamento em gráficos abstratos.

Simulação Quântica

Inúmeros outros algoritmos de programação dinâmica podem ser acelerados em GPUs NVIDIA H100 com instruções DPX. Um campo promissor é a computação quântica, onde a programação dinâmica é usada em algoritmos de otimização de tensores para simulação quântica. As instruções DPX podem ajudar os desenvolvedores a acelerar o processo de identificação da ordem correta de contração do tensor.

Otimização de Consulta SQL

Outra aplicação potencial é na ciência de dados. Os cientistas de dados que trabalham com a linguagem de programação SQL geralmente precisam realizar várias operações de “junção” em um conjunto de tabelas. A programação dinâmica ajuda a encontrar uma ordem ideal para essas junções, geralmente economizando ordens de grandeza no tempo de execução e, assim, acelerando as consultas SQL.

Saiba mais sobre a arquitetura de GPU NVIDIA Hopper. Registre-se gratuitamente no GTC, online até 24 de março. E assista ao replay da apresentação de abertura do fundador e CEO da NVIDIA, Jensen Huang.