Técnicas de computación avanzada en mecánica de fluidos Sergio Hoyas CMT- Motores Térmicos,...
Preview:
Citation preview
- Diapositiva 1
- Tcnicas de computacin avanzada en mecnica de fluidos Sergio
Hoyas CMT- Motores Trmicos, Universidad Politcnica de Valencia
Funding: DEISA, BSC,CICYT,PIC Mark Simens, Javier Jimnez ETSI
Aeronuticos, UPM
- Diapositiva 2
- CMT Motores Trmicos Tcnicas avanzadas...2
- Diapositiva 3
- Arquitecturas actuales de clculo Arquitecturas actuales Pc
yServidores Pc y Servidores Grid computing Clusters y
supercomputadores www.pic.eswww.bsc.es Tcnicas avanzadas...3
- Diapositiva 4
- Arquitecturas actuales de clculo Servidores Ventajas:
Inconvenientes Recomendaciones: - Hardware: Mejor Intel que AMD. El
principal motivo el compilador de Intel. - Sistema operativo:
Ubuntu o Debian. Nunca Suse. Evolucin Objetivos Pruebas, problemas
pequeos, post proceso. Tamao problema limitado, Espacio y
refrigeracin. Ms procesadores, clculo/memoria >>1. Precio,
fcil administracin. 2500 8 cores, 16GB de Ram Tcnicas
avanzadas...4
- Diapositiva 5
- Arquitecturas actuales de clculo Grid y Supercomputadores - Se
prevee un aumento significativo del ratio de procesadores por nodo.
- -Mquinas de 2000 procesadores son ya comunes. - -En pruebas
MariCell, que lleva el chip de la PlayStation 3 Administracin,
grandes recursos, herramientas.Ventajas: Inconvenientes Evolucin
Objetivos Acceso a recursos, administrativas. Barridos parmetricos,
grandes problemas. Tcnicas avanzadas...5
- Diapositiva 6
- Software numrico Lenguajes de alto nivel: Matlab Fortran C
Tcnicas avanzadas...6
- Diapositiva 7
- Software numrico Ventajas: Inconvenientes: Lenguajes de alto
nivel: Matlab Fortran C Intuitivo, fcil de programar y depurar
Imprescindible para la visualizacin de resultados Gran cantidad de
bibliotecas y rutinas de fcil acceso Interpretado (no compilado)
-> lento Es fcil de programar, pero difcil de programar bien. No
tiene todava implementaciones paralelas. La implementacin GNU
(Octave) est lejos de Matlab Tcnicas avanzadas...7
- Diapositiva 8
- Software numrico Potente y versatil. Gran cantidad de
bibliotecas y rutinas, sobre todo bsicas. Varias implementaciones
paralelas: MPI, OpenMP. La mayora de los compiladores son gratuitos
bajo Linux. No hay herramientas de visualizacin de resultados. Los
depuradores son poco intuitivos. No existen en paralelo El enlace
con libreras y optimizacin puede ser difcil Lenguajes de alto
nivel: Matlab Fortran C Ventajas: Inconvenientes: Tcnicas
avanzadas...8
- Diapositiva 9
- Software numrico Lenguajes de alto nivel: Matlab Fortran C El
ms 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 Muy dficil de programar bien
para un no-informtico. Gran cantidad de herramientas no intuitivas.
Ventajas: Inconvenientes: Tcnicas avanzadas...9
- Diapositiva 10
- Claves Los cdigos deben estar llenos de comentarios Velocidad
vs Legibilidad! Nombre de rutinas y variables: significativo y
consecuente Basicas: Orden: columnas, filas. Matlab: Ordenes
vectoriales. Predimensionalizacin Avanzadas: Memoria cache
Minimizacin de llamadas a funciones Legilibidad Reglas generales
Fortran: Trabajar punto a punto. Implicit none Tcnicas
avanzadas...10
- Diapositiva 11
- Herramientas 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 Profilers Bibliotecas
FFT: FFTW www.fftw.org lgebra lineal bsica BLAS (Basic Linear
Algebra Subprograms) http://www.netlib.org/blas/ lgebra lineal
Lapack (Linear Algebra PACKage) http://www.netlib.org/lapack/
Varios Numerical Recipes Tcnicas avanzadas...11
- Diapositiva 12
- Ejemplo prctico: DNS en Turbulencia Capas lmites Canales Dos
ejemplos Caractersticas: No estudiamos casos concretos de aplicaicn
inmediata en la ingeniera. Son casos construidos ad-hoc, para
estudiar la fsica de la turbulencia de pared Las capas lmites son
ms parecidas a la realidad Los casos presentados son los ms grandes
calculados en cada caso. Tcnicas avanzadas...12
- Diapositiva 13
- Que herramientas hay en Ingeniera? Son ecuaciones sobre las
magnitudes fluidas medias Algortimos rpidos, pero no muy precisos.
Necesitan SIEMPRE validacin experimental Rans: Reynolds Averaged
Navier Stokes LES: Large Eddy simulation Modelan slo las escalas ms
pequeas de la turbulencia, resolviendo las dems En gran expansin
debido a la potencia mayor de ordenadores. Campo de investigacin
muy activo. Todava no hay un modelo cerrado. Tcnicas avanzadas...13
Herramientas Normalmente se usan malladores y cdigos comerciales
(Gambit, Fluent, StarCD) o libres (OpenFOAM)
- Diapositiva 14
- 9 Millones de horas! Para qu y por qu necesitamos 9e6 horas y
50 Tb? Cascada de Energa Richardson Kolmogorov (1941) Tcnicas
avanzadas...14
- Diapositiva 15
- Cascada de Energa Tcnicas avanzadas...15
- Diapositiva 16
- Flujo de energa en turbulencia istropa Flujos industriales
tpicos Estela de una persona caminando Capa lmite de un avin
Entrada Disipacin Energa Esfuerzos Cascada Tcnicas
avanzadas...16
- Diapositiva 17
- Cascadas en la turbulencia de pared Energa Viscosa Log Exterior
Dissipacin Energa Momento Tcnicas avanzadas...17
- Diapositiva 18
- Dominio flujo x z y Capa lmite Tcnicas avanzadas...18
- Diapositiva 19
- Dominio flujo Tcnicas avanzadas...19
- Diapositiva 20
- Mallado del canal Espacio fsico Espacio de Fourier # Puntos
(Fis.) # Puntos (Fourier, R.) # Puntos (Fourier, C.) Memoria total
400GB (simple precision). Tcnicas avanzadas...20
- Diapositiva 21
- Simulaciones anteriores Kim, Moin and Moser, 1987, 180 (Cray
XMP, NASA Ames) Del lamo and Jimnez, 2003 (Kadesh, CEPBA) 550 Del
lamo, Moser, Jimnez and Zandonade, 2004 (Blue Horizon) 950 Del lamo
and Jimnez, 2003 (Kadesh, CEPBA) 180 Tcnicas avanzadas...21
- Diapositiva 22
- Simulaciones anteriores Tcnicas avanzadas...22
- Diapositiva 23
- Ecuaciones de Navier-Stokes Tcnicas avanzadas...23
- Diapositiva 24
- Forma Velocidad-Vorticidad 70-80% of time 99% of communication
Tcnicas avanzadas...24
- Diapositiva 25
- Discretizacin en x y z Discretizacin Espacial: Fourier en x y
z, diferencias finitas compactas en z con tomando Tcnicas
avanzadas...25
- Diapositiva 26
- Ecuaciones en el espacio de Fourier Tcnicas avanzadas...26
- Diapositiva 27
- FFT. El problema del dealiasing Problema clsico de la
turbulencia: como calcular por ejemplo como Error de aliasing
Tcnicas avanzadas...27
- Diapositiva 28
- Dealiasing Dos formas de evitarlo: phase shifts y truncacin o
3/2 Truncacin: agrandamos la transformada 0 n m n+m n+m-N N/2KK-N/2
Tcnicas avanzadas...28
- Diapositiva 29
- Condicin de Neumann para v Tcnicas avanzadas...29
- Diapositiva 30
- Discretizacin Mtodo: Runge-Kutta de tercer orden (Spalart et
al, 1991) 118 e6 ecuaciones/paso Tcnicas avanzadas...30
- Diapositiva 31
- Discretizacin - y Normal: Diferencias finitas compactas (Lele,
1991) N=M=7 N=M=5 Primera derivad: malla de 7 puntos. Mapeada a la
original Segunda derivada: malla real Sistemas: mtodos LU, sin
pivotaje, adaptadas de Numerical Recipes Tcnicas
avanzadas...31
- Diapositiva 32
- Discretizacin - y Sistemas: mtodos LU, sin pivotaje, adaptadas
de Numerical Recipes Tcnicas avanzadas...32
- Diapositiva 33
- Esquema clsico de paralelizacin Solo podemos usar N y procs
Problema dealiasing 2D Tcnicas avanzadas...33
- Diapositiva 34
- Speed-up del nuevo esquema Importante Optimizacin de
rutinasAdaptado: - XLF - Arquitectura de MareNostrum Claves
Input/ouput Input/ouput Comunicaciones Comunicaciones Tcnicas
avanzadas...34
- Diapositiva 35
- Esquema en lineas-planos Proc a Proc b Tcnicas
avanzadas...35
- Diapositiva 36
- Tcnicas avanzadas...36 Paralelizacin en planos-lneas Proc
b
- Diapositiva 37
- Paralelizacin en lineas planos: esquema Primera parte 1.-
Calculamos vel. y vort. (F-P-F) 2.- Transformamos z al espacio
fsico Segunda parte Movemos de yz a lneas en x Tercera parte 1.-
Transformamos x a fsico 2.- Clculo de la helicidad 3.- Transfomamos
la helicidad a Fourier Quinta parte 1.- Transformamos a (F-P-F) 2.-
Calculo del RHS de la ecuacin 3.- Resolvemos los sistemas 4.-
Avanzamos en tiempo Cuarta parte Movemos de lneas en x a yz 1.- 10%
2.- 40% (133MB) 3.- 10% 4.- 20% (66 MB) 5.- 20% Tcnicas
avanzadas...37
- Diapositiva 38
- Comunicaciones 1. 1.Si A est mandando datos a B, B tiene que
estar esperando a A. 2. 2.Nadie ms tiene que comunicarse con A o B
#Procs = 4=2 2 1st Comm. 2nd Comm. 3rd Comm. P1P1 P2P2 P3P3 P4P4
Tcnicas avanzadas...38
- Diapositiva 39
- Hipercubo #Procs = 8=3 2 1st. 2nd 3rd 4th 5th 6th 7th Tcnicas
avanzadas...39
- Diapositiva 40
- Hipercubo: seudocdigo Wrong!!! Tcnicas avanzadas...40
- Diapositiva 41
- Comparacin entre cdigos Tcnicas avanzadas...41
- Diapositiva 42
- Entrada/salida de datos - El cdigo salva una imagen cada 200
pasos. - El archivo pesa alrededor de 60GB - Implementacin clsica:
esclavos a maestro - Todos los procesadores tienen que esperar a
que el archivo est escrito 30% 7% Tcnicas avanzadas...42
- Diapositiva 43
- Dos soluciones 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, 600.000 en total Implementada: Pedimos
60 procs ms y creamos dos MPI_GROUPS Clculo Slida P 1 -P x1 P x2 -P
x3 P xn-1 -P 2048 60GB Disk P1P1 P2P2 P 60 5-6 s 30-40 m Tcnicas
avanzadas...43
- Diapositiva 44
- Simulaciones cinemticas de canales Tcnicas avanzadas...44
- Diapositiva 45
- !DNS son muy caras! Procesador Total Memoria 0.2GB400GB
Pasos125.000125.000 Tiempo por cada paso del Runge-Kutta40s40s
CPU-hours totales2800h6e6h (1.3e6) Horas humanas totales4 months
4months Transferencia de datos entre procesadores 0.6GB1.2PB Total
de datos transmitidos 73PB145EB Base de datos obtenidad 25TB25TB
Flops conseguidos 50GF3TF Flops totales18.3PF 3.6EF Tcnicas
avanzadas...45
- Diapositiva 46
- Mare Nostrum Supercomputador perteneciente al centro nacional
de supercomputacin. 4812 procesadores PowerPC 970FX a 2,2 GHz 9.6
TB de memoria ram. 236 TB de disco Potencia mantenida de 38 Tflops.
Informacin: www.bsc.es Tcnicas avanzadas...46
- Diapositiva 47
- Agradecimientos Almacenamiento: Port dinformacio
cientifica,ww.pic.es. Castor: Capacitad 1.5 PB. Idea del centro:
Llegar a 10PB Tcnicas avanzadas...47
- Diapositiva 48
- Agradecimientos BSC Jos Mara Cela: FFTW and general
optimization. Sergi Girona: Input/output routines and many
discussions about MareNostrum. Jess Labarta: Communications
routines. 5.000.000 CPU-H assigned to run the simulation.PIC Manuel
Delfino: Storage of the results of the simulations. 25 TB of
permanent storage.DEISA 800.000 CPU-H assigned through a project.
Tcnicas avanzadas...48
- Diapositiva 49
- 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. Tcnicas
avanzadas...49
- Diapositiva 50
- When a channel 4000 ? Grid size Estimated time per step: Number
of steps needed Total time (12288,901,9216) 140s on 4096
processors, 280 on 2048 250.000 20 million CPU-Hours, between 800
and 1400 days Future work? Do you have a new MareNostrum? Tcnicas
avanzadas...50
- Diapositiva 51
- Gracias! Fluid Dynamics Lab Escuela de Aeronutica, UPM
http://torroja.dmt.upm.es Tcnicas avanzadas...51