La Arquitectura NVIDIA Hopper de GPU Acelera la Programación Dinámica Hasta 40 Veces con las Nuevas Instrucciones DPX

Los algoritmos de programación dinámica se utilizan en atención médica, robótica, computación cuántica, ciencia de datos y más.
por Dion Harris

La arquitectura NVIDIA Hopper de GPU presentada hoy en GTC acelerará la programación dinámica, una técnica de resolución de problemas utilizada en algoritmos para genómica, computación cuántica, optimización de rutas y más, hasta 40 veces con nuevas instrucciones DPX.

Un conjunto de instrucciones integrado en las GPU NVIDIA H100, DPX ayudará a los desarrolladores a escribir código para acelerar los algoritmos de programación dinámica en múltiples industrias, impulsando los workflows para el diagnóstico de enfermedades, simulación cuántica, análisis de gráficos y optimizaciones de enrutamiento.

¿Qué Es La Programación Dinámica?

Desarrollada en la década de 1950, la programación dinámica es una técnica popular para resolver problemas complejos con dos técnicas clave: recursividad y memorización.

La recursividad implica dividir un problema en subproblemas más simples, ahorrando tiempo y esfuerzo computacional. En la memorización, se almacenan las respuestas a estos subproblemas, que se reutilizan varias veces al resolver el problema principal. La memorización aumenta la eficiencia, por lo que no es necesario volver a calcular los subproblemas cuando sea necesario más adelante en el problema principal.

Las instrucciones DPX aceleran los algoritmos de programación dinámica hasta 7 veces en una GPU NVIDIA H100, en comparación con las GPU basadas en la arquitectura NVIDIA Ampere. En un nodo con cuatro GPU NVIDIA H100, esa aceleración se puede impulsar aún más.

Los Casos de Uso Abarcan Área de la Salud, Robótica, Computación Cuántica, Ciencia de Datos

La programación dinámica se usa comúnmente en muchos algoritmos de optimización, procesamiento de datos y omics. Hasta la fecha, la mayoría de los desarrolladores han ejecutado este tipo de algoritmos en CPU o FPGA, pero pueden desbloquear aceleraciones significativas usando instrucciones DPX en GPU NVIDIA Hopper.

Omics 

La omics cubre una variedad de campos biológicos que incluyen la genómica (centrada en el ADN), la proteómica (centrada en las proteínas) y la transcriptómica (centrada en el ARN). Estos campos, que informan el trabajo crítico de la investigación de enfermedades y el descubrimiento de fármacos, se basan en análisis algorítmicos que pueden acelerarse con instrucciones DPX.

Por ejemplo, los algoritmos de programación dinámica de Smith-Waterman y Needleman-Wunsch se utilizan para la alineación de secuencias de ADN, la clasificación de proteínas y el plegamiento de proteínas. Ambos utilizan un método de puntuación para medir qué tan bien se alinean las secuencias genéticas de diferentes muestras.

Smith-Waterman produce resultados muy precisos, pero requiere más tiempo y recursos de computación que otros métodos de alineación. Mediante el uso de instrucciones DPX en un nodo con cuatro GPU NVIDIA H100, los científicos pueden acelerar este proceso 35 veces para lograr un procesamiento en tiempo real, donde el trabajo de alineamiento y llamada de base se lleva a cabo al mismo ritmo que la secuenciación del ADN.

Esta aceleración ayudará a democratizar el análisis genómico en hospitales de todo el mundo, acercando a los científicos a brindar a los pacientes una medicina personalizada.

Optimización de Rutas

Encontrar la ruta óptima para múltiples piezas en movimiento es esencial para los robots autónomos que se mueven a través de un almacén dinámico, o incluso para un remitente que transfiere datos a múltiples receptores en una red de computación.

Para abordar este problema de optimización, los desarrolladores confían en Floyd-Warshall, un algoritmo de programación dinámica que se usa para encontrar las distancias más cortas entre todos los pares de destinos en un mapa o gráfico. En un servidor con cuatro GPU NVIDIA H100, la aceleración de Floyd-Warshall aumenta 40 veces en comparación con un servidor tradicional solo de CPU de dos sockets.

Junto con el softwarede IA de logística NVIDIA cuOpt, esta aceleración en la optimización de enrutamiento podría usarse para aplicaciones en tiempo real en fábricas, vehículos autónomos o algoritmos de mapeo y enrutamiento en gráficos abstractos.

Simulación Cuántica

Muchos otros algoritmos de programación dinámica podrían acelerarse en las GPU NVIDIA H100 con instrucciones DPX. Un campo prometedor es la computación cuántica, donde la programación dinámica se utiliza en algoritmos de optimización de tensores para la simulación cuántica. Las instrucciones DPX podrían ayudar a los desarrolladores a acelerar el proceso de identificación del orden correcto de contracción del tensor.

Optimización de Consultas SQL

Otra aplicación potencial es en la ciencia de datos. Los científicos de datos que trabajan con el lenguaje de programación SQL a menudo necesitan realizar varias operaciones de «unión» en un conjunto de tablas. La programación dinámica ayuda a encontrar un orden óptimo para estas uniones, a menudo ahorrando órdenes de magnitud en el tiempo de ejecución y, por lo tanto, acelerando las consultas SQL.

Obtenga más información sobre la arquitectura de la GPU NVIDIA Hopper. Regístrese gratis para GTC, disponible en línea hasta el 24 de marzo. Y vea la repetición del discurso de apertura del fundador y CEO de NVIDIA, Jensen Huang.