
Aprovecha toda la potencia de tu GPU con Ansys Fluent (Parte 1)
Tu viaje a casa desde el trabajo, el vuelo de Nueva York a Londres, la vieja cafetera de la oficina que su empresa aún no ha actualizado… Al igual que las simulaciones de dinámica de fluidos computacional (CFD), todas estas cosas se beneficiarían si se aceleraran.
A lo largo de los años, uno de los elementos clave para acelerar las simulaciones de CFD ha sido la computación de alto rendimiento (HPC), que en los últimos años se ha ampliado a las unidades de procesamiento gráfico (GPU).
El aprovechamiento de las GPU en el mundo de la CFD no es un concepto nuevo. Las GPU se han utilizado como aceleradores de CFD durante bastante tiempo (incluso en Ansys Fluent desde 2014). Sin embargo, la aceleración local que se obtiene depende del problema. Al final, la parte del código que no esté optimizada para las GPUs frenará el aumento de velocidad general. Por eso queremos mostrarte el potencial que tienen las GPU cuando las simulaciones CFD se ejecutan de forma nativa en varias GPU.
Esta es la primera entrega de nuestra serie de blogs, «Liberar toda la potencia de las GPU para Ansys Fluent», que demostrará cómo las GPU pueden ayudar a reducir el tiempo de simulación, los costes de hardware y el consumo de energía. En esta primera entrega cubriremos algunos problemas de flujo laminar y turbulento. A medida que la serie avance, también lo harán las capacidades de modelado de la física analizadas.
Aumento de velocidad de 32 veces para la aerodinámica exterior del automóvil
Para nuestro primer ejemplo, veamos las simulaciones de aerodinámica externa de automóviles, que pueden llegar a ser muy grandes con mucha rapidez, normalmente con más de 300 millones de celdas. La ejecución de una simulación de este tamaño requeriría miles de núcleos y días (a veces incluso semanas) de tiempo de cálculo. ¿Y si hubiera una forma de reducir el tiempo de simulación de semanas a días o de días a horas, reduciendo al mismo tiempo el consumo de energía? Alerta: la hay, y es ejecutando estas simulaciones completamente en las GPU.
La sostenibilidad es una de las principales preocupaciones de la industria del automóvil y los organismos gubernamentales de todo el mundo están poniendo en práctica estrictas normativas. Algunas de las áreas que las empresas de automoción han estado evaluando para cumplir o superar estas normativas son
- Mejora de la aerodinámica
- Reducir las emisiones
- Utilizar combustibles alternativos
- Desarrollar opciones de trenes de potencia híbridos y eléctricos
Pero los esfuerzos de sostenibilidad no deben limitarse al funcionamiento del producto final (en este caso, un coche), sino que deben extenderse también al proceso de diseño del producto. Esto incluye la simulación, y en Ansys queremos reducir la cantidad de energía consumida durante las simulaciones.
Para la simulación mostrada, ejecutamos el modelo DrivAer de referencia en diferentes configuraciones de CPU y GPU utilizando Fluent y comparamos el rendimiento. Nuestros resultados muestran que una sola GPU NVIDIA A100 consigue un rendimiento más de 5 veces superior al de un cluster con 80 núcleos Intel® Xeon® Platinum 8380. Si se amplía a 8 GPU NVIDIA A100, la simulación puede acelerarse más de 30 veces.
Obtener resultados en menos tiempo hace que nuestros clientes sean más eficientes, pero no se queda ahí: También podemos reducir su factura eléctrica (¡y ayudar al planeta!) con una importante reducción de la energía necesaria para ejecutar dichas simulaciones.
Analizamos el consumo de energía de un cluster de CPUs con 1024 núcleos Intel® Xeon® Gold 6242 y observamos un consumo de energía de 9600 W. Si lo comparamos con el consumo de energía de un servidor de 6 GPUs NVIDIA® V100 que proporciona el mismo rendimiento, ese consumo de energía se reduce por un factor de cuatro hasta 2400 W.
Estos resultados demuestran que las empresas que optan por un servidor de 6 GPUs NVIDIA® V100 pueden reducir su consumo de energía en 4 veces en comparación con un cluster HPC equivalente, y esto sin tener en cuenta la reducción de los costes de refrigeración para mantener la sala de servidores fresca.
Ejecutar tus simulaciones en un solver nativo de la GPU puede tener un impacto masivo e inmediato, tanto en los esfuerzos de sostenibilidad de tu empresa como en la reducción del tiempo de espera de los resultados. Y no cualquier resultado: son resultados en los que puede confiar. Durante los últimos 40 años, Fluent ha sido ampliamente validado en una amplia gama de aplicaciones y es conocido por su precisión líder en la industria. Tanto el solver de la CPU como el de la multi-GPU disponibles en Fluent se basan en la misma discretización y métodos numéricos, proporcionando a los usuarios resultados prácticamente idénticos.
Los dos casos canónicos que se muestran a continuación son validaciones CFD bien establecidas que simulan los fundamentos de los regímenes laminar y turbulento. Ambos casos detallan la precisión que obtendrá el usuario cuando se resuelvan de forma nativa en las GPU.
Flujo laminar sobre una esfera
En la literatura abundan los estudios experimentales y numéricos del flujo sobre una esfera, que sirven de referencia básica para la validación de la aerodinámica externa. Para esta primera prueba, elegimos condiciones de flujo laminar en las que el número de Reynold es igual a 100 y se espera que el fluido rodee la esfera y forme estructuras de vórtices invariables en el tiempo detrás del cilindro. Las correlaciones de arrastre propuestas en la literatura se utilizan para comparar los resultados del CFD con los datos experimentales.
Como se muestra en la Tabla 1, la implementación nativa de la GPU calcula el coeficiente de arrastre con mucha precisión, con un porcentaje de error de sólo -0,252%.
Backward Facing Step
El Backward Facing Step es un problema canónico utilizado para probar la implementación del modelo de turbulencia. La configuración, aparentemente simple, es rica en la física que exhibe. Para esta prueba, recreamos el montaje experimental de Vogel y Eaton2 con una velocidad de entrada de 2,3176 m/s. Los códigos CFD se ponen a prueba comparando los perfiles de velocidad en diferentes planos a lo largo del canal con los datos experimentales publicados.
Cuando se resuelve en la CPU, Fluent muestra una buena validación con los resultados experimentales3,4. La resolución de este mismo problema con el solucionador nativo multi-GPU proporciona a los usuarios resultados prácticamente idénticos, como se muestra a continuación, ya que tanto los solucionadores para CPU como para GPU disponibles en Fluent se basan en la misma discretización y métodos numéricos.