GPU y computación acelerada en física
Las unidades de procesamiento gráfico y otros aceleradores agrupan miles de núcleos ligeros que sobresalen en la aritmética de simulación física de datos paralelos, lo que ofrece grandes aumentos de velocidad para la dinámica molecular y los cálculos de celosía y de cuadrícula.
Definition
La computación con GPU y aceleradores en física es el uso de coprocesadores altamente paralelos con muchos núcleos simples para ejecutar los núcleos de datos paralelos de una simulación, logrando un alto rendimiento en cargas de trabajo de física adecuadas.
Scope
Este tema cubre la computación acelerada para la física: el modelo de GPU masivamente paralelo a los datos, la jerarquía de memoria y la importancia de los patrones de acceso a la memoria, la asignación de núcleos de física como el cálculo de fuerza y las actualizaciones de plantillas a los aceleradores, y las compensaciones de la programación heterogénea CPU-GPU. Aborda tanto el rendimiento como la programabilidad.
Core questions
- ¿Por qué las GPU se adaptan a la aritmética de datos paralelos de muchas simulaciones físicas?
- ¿Cómo influye la jerarquía de memoria de la GPU en el rendimiento alcanzable?
- ¿Qué núcleos de física se asignan bien a los aceleradores y cuáles no?
- ¿Cómo se organizan las simulaciones heterogéneas CPU-GPU?
Key theories
- Ejecución masivamente paralela a los datos
- Las GPU ejecutan la misma operación en miles de hilos sobre diferentes datos, lo que coincide con simulaciones en las que se aplican actualizaciones idénticas a muchas partículas o puntos de cuadrícula, lo que produce grandes ganancias de rendimiento.
- Jerarquía de memoria y patrones de acceso
- El rendimiento de la GPU depende del acceso a la memoria coalescente y del uso eficaz de la memoria rápida en el chip, por lo que los algoritmos deben reestructurarse para mantener los muchos núcleos alimentados con datos en lugar de detenerse en la memoria.
- Núcleos de física acelerados
- La evaluación de fuerzas en dinámica molecular, las actualizaciones de plantillas en solucionadores de cuadrícula y las actualizaciones de celosía en la teoría de campos se han portado a las GPU para obtener aceleraciones de orden de magnitud, como lo demuestra la dinámica molecular temprana totalmente basada en GPU.
Clinical relevance
La aceleración por GPU impulsa gran parte de la dinámica molecular moderna, la cromodinámica cuántica de celosía y la simulación astrofísica, y el mismo hardware subyace a los flujos de trabajo de aprendizaje automático que se utilizan cada vez más para analizar y acelerar los cálculos físicos.
History
La computación de GPU de propósito general despegó a finales de la década de 2000 con sombreadores programables y la plataforma CUDA; la física fue una de las primeras en adoptarla, con dinámica molecular totalmente basada en GPU en 2008 y cromodinámica cuántica de celosía acelerada por GPU a continuación, lo que hizo que los aceleradores fueran estándar en los superordenadores.
Key figures
- Wen-mei Hwu
- David Kirk
- Joshua Anderson
Related topics
Seminal works
- kirkhwu2016
- anderson2008
Frequently asked questions
- ¿Por qué las GPU son mucho más rápidas para algunos códigos de física pero no para otros?
- Las GPU sobresalen cuando la misma operación simple se aplica a grandes cantidades de datos con acceso regular a la memoria, como en las actualizaciones de fuerza o de plantilla. Los códigos con ramificaciones pesadas, acceso irregular a la memoria o grandes secciones seriales ven pocos beneficios e incluso pueden ejecutarse más lentamente.
- ¿Las GPU reemplazan a las CPU en la computación física?
- No. La mayoría de las simulaciones grandes son heterogéneas, utilizando GPU para los núcleos pesados de datos paralelos, mientras que las CPU manejan el flujo de control, la coordinación y el trabajo irregular, por lo que las dos se usan juntas en lugar de que una reemplace a la otra.