La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Técnicas de computación avanzada en mecánica de fluidos

Presentaciones similares


Presentación del tema: "Técnicas de computación avanzada en mecánica de fluidos"— Transcripción de la presentación:

1 Técnicas de computación avanzada en mecánica de fluidos
Sergio Hoyas CMT- Motores Térmicos, Universidad Politécnica de Valencia Mark Simens, Javier Jiménez ETSI Aeronáuticos, UPM Funding: DEISA, BSC,CICYT,PIC

2 CMT – Motores Térmicos Técnicas avanzadas... 2

3 Arquitecturas actuales de cálculo
Clusters y supercomputadores Pc y Servidores Grid computing Técnicas avanzadas... 3

4 Arquitecturas actuales de cálculo
Servidores Objetivos Pruebas, problemas pequeños, post – proceso. Ventajas: Precio, fácil administración. 2500€ 8 cores, 16GB de Ram Inconvenientes Tamaño problema limitado, Espacio y refrigeración. Evolución Más procesadores, cálculo/memoria >>1. Recomendaciones: - Hardware: Mejor Intel que AMD. El principal motivo el compilador de Intel. - Sistema operativo: Ubuntu o Debian. Nunca Suse. Técnicas avanzadas... 4

5 Arquitecturas actuales de cálculo
Grid y Supercomputadores Objetivos Barridos parámetricos, grandes problemas. Ventajas: Administración, grandes recursos, herramientas. Inconvenientes Acceso a recursos, administrativas. Evolución - Se prevee un aumento significativo del ratio de procesadores por nodo. Máquinas de 2000 procesadores son ya comunes. En pruebas MariCell, que lleva el chip de la PlayStation 3 Técnicas avanzadas... 5

6 Software numérico Lenguajes de alto nivel: Matlab Fortran C
Técnicas avanzadas... 6

7 Software numérico Lenguajes de alto nivel: Matlab Fortran C Ventajas:
Intuitivo, fácil de programar y depurar Imprescindible para la visualización de resultados Gran cantidad de bibliotecas y rutinas de fácil acceso Inconvenientes: Interpretado (no compilado) -> lento Es fácil de programar, pero difícil de programar bien. No tiene todavía implementaciones paralelas. La implementación GNU (Octave) está lejos de Matlab Técnicas avanzadas... 7

8 Software numérico Lenguajes de alto nivel: Matlab Fortran C Ventajas:
Potente y versatil. Gran cantidad de bibliotecas y rutinas, sobre todo básicas. Varias implementaciones paralelas: MPI, OpenMP. La mayoría de los compiladores son gratuitos bajo Linux. Inconvenientes: No hay herramientas de visualización de resultados. Los depuradores son poco intuitivos. No existen en paralelo El enlace con librerías y optimización puede ser difícil Técnicas avanzadas... 8

9 Software numérico Lenguajes de alto nivel: Matlab Fortran C Ventajas:
El más potente de los tres. Se puede hacer cualquier cosa. Admite varias paralelizaciones: MPI, OpenMP y Posix Enorme cantidad de recursos de libre acceso en la red Inconvenientes: Muy díficil de programar bien para un no-informático. Gran cantidad de herramientas no intuitivas. Técnicas avanzadas... 9

10 Claves Legilibidad Los códigos deben estar llenos de comentarios
¡Velocidad vs Legibilidad! Nombre de rutinas y variables: significativo y consecuente Reglas generales Basicas: Orden: columnas, filas. Matlab: Ordenes vectoriales. Predimensionalización Avanzadas: Memoria cache Minimización de llamadas a funciones Fortran: Trabajar punto a punto. Implicit none Técnicas avanzadas... 10

11 Herramientas Profilers Matlab: Profile on; My_code; profile viewer.
Compilador: mcc –m My_code Fortran ifort –pg my_code.f90 ; ./a.out; gprof gmon.out a.out Fortran y C/C`++ gdb Bibliotecas FFT: FFTW Álgebra lineal básica BLAS (Basic Linear Algebra Subprograms) Álgebra lineal Lapack (Linear Algebra PACKage) Varios Numerical Recipes Técnicas avanzadas... 11

12 Ejemplo práctico: DNS en Turbulencia
Dos ejemplos Capas límites Canales Características: No estudiamos casos concretos de aplicaicón inmediata en la ingeniería. Son casos construidos ad-hoc, para estudiar la física de la turbulencia de pared Las capas límites son más parecidas a la realidad Los casos presentados son los más grandes calculados en cada caso. Técnicas avanzadas... 12

13 ¿Que herramientas hay en Ingeniería?
Rans: Reynolds Averaged Navier Stokes Son ecuaciones sobre las magnitudes fluidas medias Algortimos rápidos, pero no muy precisos. Necesitan SIEMPRE validación experimental LES: Large Eddy simulation Modelan sólo las escalas más pequeñas de la turbulencia, resolviendo las demás En gran expansión debido a la potencia mayor de ordenadores. Campo de investigación muy activo. Todavía no hay un modelo cerrado. Herramientas Normalmente se usan malladores y códigos comerciales (Gambit, Fluent, StarCD) o libres (OpenFOAM) Técnicas avanzadas... 13

14 ¿Para qué y por qué necesitamos 9e6 horas y 50 Tb?
¡9 Millones de horas! ¿Para qué y por qué necesitamos 9e6 horas y 50 Tb? Cascada de Energía Kolmogorov (1941) Richardson Técnicas avanzadas... 14

15 Cascada de Energía Técnicas avanzadas... 15

16 Flujo de energía en turbulencia isótropa
Entrada Cascada Energía Esfuerzos Flujos industriales típicos Disipación Estela de una persona caminando Capa límite de un avión Técnicas avanzadas... 16

17 Cascadas en la turbulencia de pared
Energía Exterior Log Momento Viscosa Dissipación Energía Técnicas avanzadas... 17

18 Dominio Capa límite y flujo x z Técnicas avanzadas... 18

19 Dominio flujo Técnicas avanzadas... 19

20 Mallado del canal # Puntos (Fis.) # Puntos (Fourier, R.) # Puntos (Fourier, C.) Espacio físico Espacio de Fourier Memoria total 400GB (simple precision). Técnicas avanzadas... 20

21 Simulaciones anteriores
Kim, Moin and Moser, 1987, 180 (Cray XMP, NASA Ames) Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 180 Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 550 Del Álamo, Moser, Jiménez and Zandonade, 2004 (Blue Horizon) 950 Técnicas avanzadas... 21

22 Simulaciones anteriores
Técnicas avanzadas... 22

23 Ecuaciones de Navier-Stokes
Técnicas avanzadas... 23

24 Forma Velocidad-Vorticidad
70-80% of time 99% of communication Técnicas avanzadas... 24

25 Discretización en x y z Discretización
Espacial: Fourier en x y z, diferencias finitas compactas en z con tomando Técnicas avanzadas... 25

26 Ecuaciones en el espacio de Fourier
Técnicas avanzadas... 26

27 FFT. El problema del dealiasing
Problema clásico de la turbulencia: como calcular por ejemplo como Error de aliasing Técnicas avanzadas... 27

28 Truncación: agrandamos la transformada
Dealiasing Dos formas de evitarlo: phase shifts y truncación o 3/2 Truncación: agrandamos la transformada n+m n+m-N n m -N/2 K K N/2 Técnicas avanzadas... 28

29 Condición de Neumann para v
Técnicas avanzadas... 29

30 Discretización Método: Runge-Kutta de tercer orden (Spalart et al, 1991) 118 e6 ecuaciones/paso Técnicas avanzadas... 30

31 Discretización - y Normal: Diferencias finitas compactas (Lele, 1991)
Primera derivad: malla de 7 puntos. Mapeada a la original N=M=7 Segunda derivada: malla real N=M=5 Sistemas: métodos LU, sin pivotaje, adaptadas de “Numerical Recipes” Técnicas avanzadas... 31

32 Discretización - y Sistemas: métodos LU, sin pivotaje, adaptadas de “Numerical Recipes” Técnicas avanzadas... 32

33 Esquema clásico de paralelización
Solo podemos usar Ny procs Problema dealiasing 2D Técnicas avanzadas... 33

34 Speed-up del nuevo esquema
Importante Optimización de rutinas Adaptado: - XLF - Arquitectura de MareNostrum Claves Input/ouput Comunicaciones Técnicas avanzadas... 34

35 Esquema en lineas-planos
Procb Proca Técnicas avanzadas... 35

36 Paralelización en planos-líneas
Procb Procb Técnicas avanzadas... 36

37 Paralelización en lineas planos: esquema
Primera parte 1.- Calculamos vel. y vort. (F-P-F) 2.- Transformamos z al espacio físico Segunda parte Movemos de yz a líneas en x Tercera parte 1.- Transformamos x a físico 2.- Cálculo de la helicidad 3.- Transfomamos la helicidad a Fourier 1.- 10% 2.- 40% (133MB) 3.- 10% 4.- 20% (66 MB) 5.- 20% Cuarta parte Movemos de líneas en x a yz Quinta parte 1.- Transformamos a (F-P-F) 2.- Calculo del RHS de la ecuación 3.- Resolvemos los sistemas 4.- Avanzamos en tiempo Técnicas avanzadas... 37

38 Comunicaciones Si A está mandando datos a B, B tiene que estar esperando a A. Nadie más tiene que comunicarse con A o B #Procs = 4=22 P1 P2 1st Comm. 2nd Comm. 3rd Comm. Técnicas avanzadas... 38 P4 P3

39 Hipercubo #Procs = 8=32 1st. 2nd 3rd 4th 5th 6th 7th
Técnicas avanzadas... 39

40 Hipercubo: seudocódigo
Wrong!!! Técnicas avanzadas... 40

41 Comparación entre códigos
Técnicas avanzadas... 41

42 Entrada/salida de datos
- El código salva una imagen cada 200 pasos. - El archivo pesa alrededor de 60GB Implementación clásica: esclavos a maestro Todos los procesadores tienen que esperar a que el archivo esté escrito 30% 7% Técnicas avanzadas... 42

43 Dos soluciones 60GB 5-6 s 30-40 m Propuesta por MN:
Cada procesador escribe su plano a un directorio - No se implemento Problemas: 2048 procesadores intentando escribir al mismo tiempo. 2048 archivos generados por cada imagen, en total Implementada: Pedimos 60 procs más y creamos dos MPI_GROUPS Cálculo Sálida Disk 5-6 s 30-40 m 60GB P1-Px1 P1 Px2-Px3 P2 Pxn-1-P2048 P60 Técnicas avanzadas... 43

44 Simulaciones cinemáticas de canales
Técnicas avanzadas... 44

45 !DNS son muy caras! Procesador Total Memoria 0.2GB 400GB
Pasos Tiempo por cada paso del Runge-Kutta 40s 40s CPU-hours totales 2800h 6e6h (1.3e6) Horas humanas totales 4 months 4months Transferencia de datos entre procesadores 0.6GB 1.2PB Total de datos transmitidos 73PB 145EB Base de datos obtenidad 25TB 25TB Flops conseguidos 50GF 3TF Flops totales 18.3PF 3.6EF Técnicas avanzadas... 45

46 Mare Nostrum Supercomputador perteneciente al centro nacional de supercomputación. 4812 procesadores PowerPC 970FX a 2,2 GHz 9.6 TB de memoria ram. 236 TB de disco Potencia mantenida de 38 Tflops. Información: Técnicas avanzadas... 46

47 Agradecimientos Almacenamiento: Port d’informacio cientifica,ww.pic.es. Castor: Capacitad 1.5 PB. Idea del centro: Llegar a 10PB Técnicas avanzadas... 47

48 Agradecimientos BSC PIC DEISA
José María Cela: FFTW and general optimization. Sergi Girona: Input/output routines and many discussions about MareNostrum. Jesús Labarta: Communications routines. CPU-H assigned to run the simulation. PIC Manuel Delfino: Storage of the results of the simulations. 25 TB of permanent storage. DEISA CPU-H assigned through a project. Técnicas avanzadas... 48

49 We have confirmed some trends but we also have found new questions.
Conclusions We have made a new algorithm for a DNS of a turbulent channel flow, capable of use several thousands of processors, showing an excellent speed-up. The code has been written in Fortran90, C++ for the fft and MPI for the communication routines. This DNS has been a very expensive simulation, but not more that one experiment of the same magnitude, and we can compute almost any imaginable quantity. We have obtained 25TB of data that we are analyzing: Pressure, Energy balances… We have confirmed some trends but we also have found new questions. Técnicas avanzadas... 49

50 20 million CPU-Hours, between 800 and 1400 days
Future work? When a channel 4000 ? Grid size (12288,901,9216) Estimated time per step: 140s on 4096 processors, 280 on 2048 Number of steps needed Total time 20 million CPU-Hours, between 800 and 1400 days Do you have a new MareNostrum? Técnicas avanzadas... 50

51 Escuela de Aeronáutica, UPM
¡Gracias! Fluid Dynamics Lab Escuela de Aeronáutica, UPM Técnicas avanzadas... 51


Descargar ppt "Técnicas de computación avanzada en mecánica de fluidos"

Presentaciones similares


Anuncios Google