• No se han encontrado resultados

Utilización y optimización de librerías numéricas paralelas

N/A
N/A
Protected

Academic year: 2021

Share "Utilización y optimización de librerías numéricas paralelas"

Copied!
38
0
0

Texto completo

(1)

1

Utilización y optimización de

librerías numéricas paralelas

Seminario de doctorado, UPV 2007

Domingo Giménez

Departamento de Informática y Sistemas

Universidad de Murcia

(2)

Motivación

Problemas científicos y de ingeniería con

grandes necesidades computacionales

necesitan de:

Algoritmos numéricos eficientes:

implementarlos en librerías

Sistemas con grandes recursos

computacionales y de almacenamiento:

sistemas paralelos

(3)

Índice

Librerías de álgebra lineal densa

Librerías de álgebra lineal dispersa:

Sistemas lineales, métodos directos

Sistemas lineales, métodos iterativos

Problemas de valores propios

Otros:

FFT

Optimización

(4)

Librerías de álgebra lineal densa

(5)

Librerías de álgebra lineal densa

ScaLAPACK

:

Libre distribución

Basada en distribución en malla de los datos

Dentro de una jerarquía que incluye BLAS y LAPACK

Misma funcionalidad que LAPACK (sistemas de

ecuaciones y problemas de valores propios) pero

menos rutinas

(6)

Librerías de álgebra lineal densa

PLAPACK

:

Libre distribución

Distribución de datos guiada por el problema

Relacionada con FLAME, para generación automática

de código, y usa BLAS de Goto

Misma funcionalidad que ScaLAPACK pero menos

rutinas

Mucho menos usado que ScaLAPACK

Paso de mensajes

(7)

Librerías de álgebra lineal densa

PRISM

(Parallel Research on Invariant Subspace

Methods):

Libre distribución

Basado en Invariant Subspace Decomposition

Algorithm para matrices simétricas (SYISDA)

Problemas de valores propios

Antiguo

(8)

Librerías de álgebra lineal densa:

Jerarquía de ScaLAPACK

ScaLAPACK LAPACK BLAS PBLAS BLACS Comunicaciones: PVM, MPI Secuencial Paso de mensajes Dependiente de la plataforma Independiente de la plataforma Direccionamiento local Direccionamiento global

(9)

9

Librerías de álgebra lineal

densa: futuro

Jim Demmel and Jack Dongarra:

LAPACK 2005 Prospectus

: Reliable and Scalable

Software for Linear Algebra Computations on High

End Computers, febrero 2005:

 Incluir en ScaLAPACK más rutinas de LAPACK  Incluir rutinas de algoritmos nuevos

 Mayor precisión

 Estructuras de datos recursivas (LAWRA)  Facilidad de uso

 Parametrización para adecuar a diferentes sistemas  Clusters y heterogéneos

(10)

Álgebra lineal dispersa: sistemas

lineales, métodos directos

(11)

Librerías de álgebra lineal

dispersa: DSCPACK

DSCPACK

: Domain-Separator Codes For Solving

Sparse Linear Systems

 Para sistemas lineales dispersos con métodos directos  La matriz de coeficientes tiene que ser simétrica

 Con paso de mensajes (MPI)  En C y usa BLAS

(12)

Librerías de álgebra lineal

dispersa: MFACT

MFACT

: A Multifrontal Sparse Direct Solver

 Para sistemas lineales dispersos con métodos directos  La matriz de coeficientes tiene que ser simétrica definida

positiva

 En el futuro estilo de llamada a las rutinas como LAPACK  E interface Matlab

(13)

Librerías de álgebra lineal

dispersa: MUMPS

MUMPS

: MUltifrontal Massively Parallel sparse direct

Solver

 Varios formatos de almacenamiento de las matrices  Matrices simétricas y no simétricas

(14)

Librerías de álgebra lineal

dispersa: PSPASES

PSPASES

: Parallel SPArse Symmetric dirEct Solver

 Para sistemas lineales dispersos con métodos directos  La matriz de coeficientes tiene que ser simétrica definida

positiva

 Basado en MPI

 Llamadas en C y Fortran

(15)

Librerías de álgebra lineal

dispersa: SPOOLES

SPOOLES

: SParse Object Oriented Linear Equations

Solver

 Para matrices reales y complejas

 En la mayoría de los casos la matriz tiene que ser simétrica  Usa POSIX threads y MPI

(16)

Librerías de álgebra lineal

dispersa: SuperLU

SuperLU

:

 La matriz no tiene que ser simétrica  En C

 Llamadas desde C y Fortran

 Hace factorización LU con pivotamiento parcial y solución

de sistemas tridiagonales con sustitución progresiva y regresiva

 Se preordenan las columnas antes de la factorización

(17)

Librerías de álgebra lineal

dispersa: SuperLU

Pasos

 Equilibrado de filas y columnas

 Y permutación de filas para hacer la diagonal grande  Permutación de columnas para mantener dispersión

 Análisis simbólico para obtener la estructura de dispersión

de LU

 Factorización LU

 Solución de sistemas tridiagonales

(18)

Librerías de álgebra lineal

dispersa: SuperLU

Tiempos paralelos

Simbol LU Sistem Iterat

1 2.4 68.2 1.5 6.19 2x2 21.3 0.73 2.77 2x4 12.8 0.67 2.44 4x4 8.2 0.43 1.65 4x8 5.6 0.39 1.51 8x8 4.9 0.29 1.16 8x16 3.7 0.27 1.00 8x32 3.5 0.22 0.85 16x32 3.8 0.19 0.75

(19)

Librerías de álgebra lineal

dispersa: PARDISO

PARDISO

:

 La matriz no tiene que ser simétrica

 Para memoria compartida, con OpenMP  Basado en BLAS 3

(20)

Álgebra lineal dispersa: sistemas

lineales, métodos iterativos

(21)

Librerías de álgebra lineal

dispersa: Aztec

Aztec

:

 Técnicas tradicionales de solapamiento de computación y

comunicación, de reducción de comunicaciones, de precondicionado, ...

(22)

Librerías de álgebra lineal

dispersa: BlockSolve95

BlockSolve95

:

 Para problemas de ingeniería con cierta estructura, que

aprovecha para la computación

 Matrices con estructura simétrica

 Varios sistemas con la misma estructura, o el mismo

sistema con vectores de términos independientes distintos

(23)

Librerías de álgebra lineal

dispersa: HYPRE

HYPRE

: High Performance Preconditioners

 Precondicionadores para métodos de Krylov y gradiente

conjugado

 Factorización incompleta, ILU  En MPI

(24)

Librerías de álgebra lineal

dispersa: pARMS

pARMS

: parallel Algebraic Recursive Multilevel

Solvers

 Precondicionadores para métodos de Krylov  Factorización incompleta, ILU

(25)

Librerías de álgebra lineal

dispersa: PETSc

PETSc

: Portable, Extensible Toolkit for Scientific

Computation

 Estructuras de datos y rutinas

para solución de problemas modelados por ecuaciones en derivadas parciales

 Varios formatos de

almacenamiento

 Sistemas de ecuaciones

lineales y no lineales

 Interface C, C++, Fortran, Python  Sobre BLAS y MPI

(26)

Librerías de álgebra lineal

dispersa: PETSc

 Applications of PETSc (239)  Nano-simulations (20)  Biology/Medical(28)  Cardiology

 Imaging and Surgery  Fusion (9)

 Geosciences (20)

 Environmental/Subsurface Flow (26)  Computational Fluid Dynamics (49)

 Wave propagation and the Helmholtz equation (12)  Optimization (7)

(27)

Librerías de álgebra lineal

dispersa: P-SparsLIB

P-SparsLIB

: Portable Library of Parallel Sparse

Iterative Solvers

 Basado en métodos de Krylov y precondicionamiento  Factorización incompleta, ILU

 Optimiza las rutinas básicas de comunicaciones y de

computación que se utilizan, optimizándolas para cada sistema

(28)

Librerías de álgebra lineal

dispersa: Trilinos

Trilinos

:

 Metodología orientada a objeto  Precondicionadores

 Factorización incompleta

 Múltiples sistemas con términos independientes sucesivos y

múltiples

 Sistemas lineales y no lineales

 Sobre MPI, pero las rutinas secuenciales y paralelas se

(29)

Álgebra lineal dispersa:

problemas de valores propios

(30)

Librerías de álgebra lineal

dispersa: LZPACK

LZPACK

:

 Algoritmos de Lanczos para matrices reales simétricas

(BLZPACK) y para matrices Hermitianas (HLZPACK)

 En Fortran 77

(31)

Librerías de álgebra lineal

dispersa: PARPACK

PARPACK

: Parallel Arnoldi Package

 Calcula algunos valores y vectores propios

 Basado en multiplicación matriz-vector eficiente y en

Implicitly Restarted Arnoldi Method (IRAM)

 Matrices simétricas (Implicitly Restarted Lanczos Method

(IRLM)) y no simétricas, y problema generalizado

(32)

Librerías de álgebra lineal

dispersa: PLAPACK

Prestaciones

Tamaño Tiempo Eficiencia

1 100000x1 40.53 4 100000x4 40.97 0.98 8 100000x8 42.98 0.95 12 100000x12 42.53 0.95 16 100000x16 42.13 0.96 32 100000x32 46.59 0.87 64 100000x64 54.47 0.74 128 100000x128 57.69 0.70

(33)

Librerías de álgebra lineal

dispersa: PLANSO

PLANSO

:

 Problemas de valores propios simétricos generalizados  Método de Lanczos

 En Fortran 77  Sobre MPI

(34)

Librerías de álgebra lineal

dispersa: SLEPc

SLEPc

: Scalable Library for Eigenvalue Problem

Computations

 Problemas stándar y generalizados y de valores singulares  Métodos de Arnoldi, de Lanczos y subspace iteration

 Extensión de PETSc

 Metodología orientada a objeto  Interface C, C++ y Fortran

(35)

Librerías de álgebra lineal

dispersa: SLEPc

(36)

Otras librerías: FFT

FFTW

: Fastest Fourier Transform in the West

 Incluye técnicas de autooptimización  En C

 Interface C y Fortran

 Con pthreads para memoria compartida y MPI para

(37)

37

Más información

 V. Hernández, J. E. Román, A. Tomás, V. Vidal: A Survey of Software for

Sparse Eigenvalue Problems, SLEPc Technical Report STR-6, available at

http://www.grycap.upv.es/slepc

 http://www.netlib.org/utk/people/JackDongarra/la-sw.html

 http://wotug.ukc.ac.uk/parallel/nhse/rib/repositories/hpc-netlib/catalog/

Differential and Integral Equations Integral equations

Ordinary differential equations Partial differential equations Graph and mesh partitioning Linear algebra

Miscellaneous Optimization

(38)

Computación heterogénea

 Intentos de ScaLAPACK heterogéneo:

 Grupo de Tennessee:

 LFC: Lapack for Clusters  NetSolve/GridSolve

 Grupo de Lyon: trabajos sobre rutinas de álgebra lineal en

sistemas heterogéneos

 Grupo de Dublin-Moscú: rutinas de álgebra lineal en sistemas

heterogéneos sobre mpC  Grupo de Valencia-Murcia:

 Rutinas básicas de álgebra lineal en heterogéneos

Referencias

Documento similar

En el método de la rigidez para el análisis estructural será la matriz de coeficientes de un sistema de ecuaciones lineales en el que el vector de términos independientes recoge

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

Luego se abre la ventana gráfica f2 y sobre ella se grafica la función w de color negro, con el comando hold on se pega sobre este gráfico la otra función y de color rojo, con

El objetivo por tanto, es crear un paquete de distribuci´on denominado PyACTS que incorpore el nivel intermedio entre dos niveles de programaci´on: por un lado las librer´ıas de

SVMs applied to a regression problem perform a linear regression in the feature space using the -insensitive loss as cost function and, at the same time, regularizing the weights

 Para los coeficientes cruzados, los resultados son muy parecidos a los obtenidos por Hoerner [3] y difieren un poco de Garrido [1] debido a que los coeficientes

Para el cometido del presente trabajo, es decir, para analizar el precio de las viviendas en la ciudad de Cartagena, disponemos de 295 viviendas con sus respectivas