Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en...
Transcript of Sesión 6. Cálculo Paralelo en Elmer · Cálculo paralelo en Elmer Sesión 6. Cálculo Paralelo en...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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