sesión 6. cálculo paralelo en elmer · cálculo paralelo en elmer sesión 6. cálculo paralelo en...

15
Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis 1,2 y F. Varas 1,3 1 Universidad de Vigo, 2 Vicus Desarrollos Tecnológicos, S.A., 3 Universidad Politécnica de Madrid Introducción a la Simulación Numérica Multifísica con ELMER 6–7 de julio de 2015 M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Upload: others

Post on 13-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en Elmer

Sesión 6. Cálculo Paralelo en Elmer

M. Meis1,2 y F. Varas1,3

1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos, S.A.,3Universidad Politécnica de Madrid

Introducción a la Simulación Numérica Multifísica conELMER

6–7 de julio de 2015

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 2: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en Elmer

Proyecto CloudPYME

El proyecto CloudPYME (ID 0682_CLOUDPYME2_1_E) estácofınanciado por la Comisión Europea a través del FondoEuropeo de Desarrollo Regional (FEDER), dentro de la terceraconvocatoria de proyectos del Programa Operativo deCooperación Transfronteriza España–Portugal 2007–2013(POCTEP).

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 3: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en Elmer

Plan

1 Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 4: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Plan

1 Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 5: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Plan

1 Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 6: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Temas generales sobre cálculo paralelo

El problema es dividido y ejecutado (como mínimo) enmás de un procesador simultáneamenteLos procesadores necesitan comunicarse durante laejecución

Para este propósito una biblioteca pasando mensaje esusadoElmer usa Interfaz de Paso Mensaje (MPI)

El cálculo paralelo es beneficioso cuando una ejecuciónen serie toma demasiado tiempo

Resolución de sistemas linealesEn menor medida, proceso de ensamblado

Ejecuciones en paralelo requieren ajustes y testeo →Pensar cuidadosamente si realmente necesitas hacerejecuciones en paralelo

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 7: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Resolvedores en paralelo

Las ejecuciones en paralelo el sistema lineal deecuaciones son resueltos

Métodos iterativosMétodos directos (de tipo multifrontal)

Los resolvedores no necesitan la matriz enteraLos resolvedores iterativos necesitan

multiplicación matriz–vectorproducto punto para los vectoresuna norma para los vectores

Se obtiene un archivo de resultados para cada partición

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 8: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Plan

1 Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 9: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Generalidades de la implementación

Características

Elmer utiliza descomposición de dominios para la distribución decarga

Biblioteca de comunicación: MPI

Biblioteca de algoritmos para la partición de mallas

MetisScotchHerramienta ElmerGrid

Portabilidad

Sistemas operativos: Windows, LinuxSistemas con memoria compartida (multi–core) ydistribuida (multi–processor )

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 10: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Generalidades de la implementación

CaracterísticasAlgoritmos para unificar los archivos de resultadosLa implementación no realiza balance de carga internaTodos los solvers de Elmer pueden ser usados en cálculosparalelos (en principio)En principio, las funciones definidas por el usuariofuncionan en paralelo sin ninguna modificación especial

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 11: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Estrategias numéricas

Métodos numéricosMétodos iterativos de tipo KrylovBibliotecas especiales:

Hypre (familia de algoritmos de resolvedores yprecondicionadores)MUMPS (resolvedor directo multifrontal)

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 12: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Desafios de las ejecuciones en paralelo

Desafios numéricosEl precondicionamiento es realizado localmente sobrecada partición, excepto para precondicionamientomultimalla

Reduce la efectividad del precondicionamientoEspecialmente problemático con ecuaciones difíciles (porejemplo Navier–Stokes) o con un gran número departiciones

Ejecuciones en paralelo sólamente corren con elementosnormales

p-elementos, elementos discontinuos de Galerkin no sonsoportados

Desafios modelosParalelización de todos los modelos

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 13: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Concepto general de una ejecución en Elmer

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 14: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Establecimiento de ejecuciones en paralelo

RequerimientosCompilación en paralelo

PasosParticionado de la mallaDefinición del archivo SIFEjecución en paralelo (comando mpirun)Unificación de los archivos de resultados

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer

Page 15: Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis1;2 y F. Varas1;3 1Universidad de Vigo, 2Vicus Desarrollos Tecnológicos,

Cálculo paralelo en ElmerCuestiones generalesParalelización en Elmer

Ejemplo

Partir la mallaElmerGrid 14 2 filename -metis 4

Ejecutar la resolución en paralelo (ES necesario el archivoELMERSOLVER_STARTINFO)mpirun -np 4 ElmerSolver_mpi

Unificar archivos de resultadosElmerGridElmerGrid 15 3 filename.ep

M. Meis y F. Varas Sesión 6. Cálculo Paralelo en Elmer