(parallel linear algebra package) - um
TRANSCRIPT
![Page 1: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/1.jpg)
PLAPACK(Parallel Linear Algebra Package)
Jesús Cámara Moreno
Programación Paralela y Computación de Altas Prestaciones
![Page 2: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/2.jpg)
IndiceIntroducciónEnfoque AdoptadoRedistribución, Duplicación y Reducción de VectoresInicialización de PLAPACK. Funciones.Templates. Funciones.Linear Algebra Objects. Funciones.Operaciones Vector-VectorOperaciones Matriz-VectorOperaciones Matriz-MatrizOtras FuncionesBibliografíaAnexos
![Page 3: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/3.jpg)
IntroducciónPLAPACK es una librería desarrollada en la Universidad de Texas en Austin para la implementación paralela de algoritmos y aplicacionesde álgebra lineal sobre supercomputadores de memoria distribuida.
Permite a desarrolladores de librerías, científicos e ingenieros explotarel enfoque natural de codificación de algoritmos por bloques.
Se centra más en la distribución de los datos gran rendimiento y menos programación por parte del usuario.
Se aplica principalmente en problemas de álgebra lineal densa.
Utiliza MPI debajo de la capa de comunicación de PLAPACK.
El cómputo local realizado por PLAPACK depende en gran medida de las llamadas realizadas a operaciones implementadas por BLAS.
![Page 4: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/4.jpg)
IntroducciónPLAPACK no se debe confundir con una paralelizaciónde LAPACK o un reempaquetado de ScaLAPACK.
LAPACK es una librería de para álgebra lineal densa en supercomputadores de memoria compartida. Hace uso de los niveles 1, 2, y 3 de BLAS para lograr portabilidad.
ScaLAPACK surge del intento por portar LAPACK a computadores de memoria distribuida, haciendo especial hincapié en una máxima reutilización del código a través de mínimos cambios en los componentes de LAPACK.
![Page 5: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/5.jpg)
Introducción
¿Por qué surge PLAPACK?
Debido a la frustración del profesor Robert A. Van de Geijn en su intento por enseñar en un curso de post-grado Técnicas Paralelas para el desarrollo de Algoritmos Numéricos.
Podía explicar la implementación escalable de alto rendimiento de algoritmos como Multiplicación de Matrices o la Factorización de Cholesky sin llenar más de la mitad de una pizarra, pero la presentación del código real paralelo requería una explicación de llamadas a subrutinas con quince o treinta parámetros, por lo que el blocking usado al describir el algoritmo (requerido para lograr un alto rendimiento), no se traducía bien al código.
![Page 6: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/6.jpg)
Enfoque AdoptadoPLAPACK intenta superar esta complejidad adoptando un enfoque de programación basada en objetos (usada en librerías de computación paralela de alto rendimiento como PETSc o MPI) con el objetivo de crear un código robusto y simplificar la implementación de la interfaz de la librería.
Las descripciones de matrices distribuidas y vectores en PLAPACK son almacenadas en objetos de álgebra lineal (Linear Algebra Objects).
También permite la utilización de vistas (objetosreferenciados dentro de matrices distribuidas y vectorespara direccionar sub-bloques de matrices y vectores)traducción línea a línea de un algoritmo por bloques dado.
![Page 7: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/7.jpg)
Enfoque AdoptadoPhysically Based Matrix Distribution: distribución de los datos en una malla de procesos mediante la separación de los vectores asociados al problema y la asignación de sub-vectores a los nodos. La distribución de la matriz es entonces inducida por la distribución de estos vectores.
Intento de crear interfaces más razonables entre aplicaciones y librerías
Ventajas:
Reduce el overhead de la comunicación.Soporta y explota las comunicaciones colectivas requeridas para mejorar lasduplicaciones de datos necesarias al paralelizar algoritmos en álgebra lineal densaEnfoque por capas con operaciones de alto nivel para la implementación paralela de operaciones comunes del tipo matriz-vector y matriz-matriz.Simplifica enormemente la implementación de la infraestructura permite mucha más generalidad en futuras ampliaciones.Reduce la cantidad de código requerido en comparación con otras librerías de álgebra lineal densa.
![Page 8: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/8.jpg)
Redistribución de VectoresSc
atte
r
Distribución de un vector como paso intermedio a través del cual la redistribución de filas y columnas de las matrices puede ser implementada en un enfoque de construcción de bloques.
![Page 9: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/9.jpg)
Redistribución de VectoresG
athe
r
![Page 10: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/10.jpg)
Duplicación de VectoresSc
atte
r+ C
olle
ct(B
road
cast
)
![Page 11: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/11.jpg)
Reducción de VectoresD
istr
ibut
edR
educ
tion
(MPI
_Red
uce_
Scat
ter)
![Page 12: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/12.jpg)
Reducción de VectoresD
istr
ibut
edR
educ
tion
![Page 13: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/13.jpg)
Aplicación de PBMDMultiplicación Matriz-Vector: Ax = y
Se parte de que x e y éstán idénticamente distribuidos. Mediante la difusión del vector x en columnas, se duplican todos los elementos necesarios de x para que la multiplicación local matriz-vector de cada nodo puede comenzar.
Después de ejecutar esta multiplicación, como sólo una porción del vector y se conoce dentro de cada nodo, se realiza una reducción distribuida (MPI_Reduce_scatter) de los resultados locales parciales dentro de las filas de los nodos, dejando la parte apropiada del vector y resultante en cadanodo.
Multiplicación Matriz-Matriz:
La duplicación de vectores se realizaría duplicando la fila de la matriz dentro de la fila de nodos y la columna de la matriz dentro de la columna de nodos.
![Page 14: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/14.jpg)
Funciones de Inicialización
![Page 15: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/15.jpg)
Funciones de Inicialización
![Page 16: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/16.jpg)
TemplatesEn lugar de describir directamente la distribución de cada vector y matriz individual, PLAPACK requiere que la distribución de los vectores y matrices sea descrita mediante una plantilla (template)
La distribución del resto de vectores y matrices se realizaráindicando su alineación con respecto a estas plantillas.
p.e, si el primer elemento del vector es alineado con el elemento i de la plantilla, el j-ésimo elemento será distribuido asignándolo al mismo nodo que el i+j-ésimo elemento de la plantilla del vector.
La plantilla de la matriz es distribuida a los nodos inducida por la plantilla del vector. El resto de matrices a ser distribuidas se alinean con respecto a esta plantilla de la matriz.
![Page 17: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/17.jpg)
Funciones sobre Plantillas
Devuelve un objeto de tipo template, que es un puntero a la estructura de datos que contiene el mapeo de vectores y matrices a la malla de nodos.
![Page 18: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/18.jpg)
Funciones sobre PlantillasRutinas de consulta: usadas para consultar información sobre la malla de nodos y la distribución de la plantilla.
![Page 19: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/19.jpg)
Funciones sobre Plantillas
ejemplo
![Page 20: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/20.jpg)
Linear Algebra ObjectsLinear Algebra Objects = Matrices y Vectores distribuidos.La información que describe a cada uno se codifica en un objeto.
![Page 21: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/21.jpg)
Linear Algebra Objects
• Destructor de Objetos:
![Page 22: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/22.jpg)
Funciones sobre LAORutinas de consulta: usadas para consultar información de los LAO creados e impedir que se pueda acceder directamente a la ED que codifica cada objeto.
![Page 23: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/23.jpg)
Funciones sobre LAO
![Page 24: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/24.jpg)
Funciones sobre LAO
![Page 25: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/25.jpg)
Funciones sobre LAORutinas de Inicialización
Todas las rutinas de PLAPACK retornan un valor entero. Si es = 0 la rutina ha finalizado correctamente. Si es > 0 la rutina no finalizó bien y si es < 0 hay algún warning.
![Page 26: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/26.jpg)
Operaciones Vector-VectorEn PLAPACK, las operaciones vector-vector están estratificadas como sigue:
PLAPACK proporciona llamadas independientes de la plataforma de nivel 1 de BLAS mediante la adición del prefijo PLA_ y proporciona 2 capas más:
El nivel global se emplea como medio de comunicación primario para que todos los nodos realicen simultáneamente la llamada a la función global, la cual realiza la llamada a BLAS sobre los objetos distribuidos.
Cuando un nodo llama al nivel local, es equivalente a extraer la información local de los objetos (tipo de datos, dimensiones y puntero al buffer) y a realizar localmente la operación en cuestión llamando a funciones del nivel de BLAS correspondiente precedidas por PLA_ (ejemplo)
![Page 27: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/27.jpg)
Operaciones Vector-VectorCopia:
Intercambio de Contenido (swap):
![Page 28: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/28.jpg)
Operaciones Vector-Vector
Escalado de un Vector:
![Page 29: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/29.jpg)
Operaciones Vector-Vector
Sumar un Vector a un Vector Escalado:
![Page 30: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/30.jpg)
Operaciones Vector-Vector
Producto:
![Page 31: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/31.jpg)
Operaciones Matriz-VectorEn PLAPACK, las operaciones vector-vector están estratificadas como sigue:
PLAPACK proporciona llamadas independientes de la plataforma de nivel 2 de BLAS mediante la adición del prefijo PLA_ y proporciona 2 capas más:
El nivel global se emplea como medio de comunicación primario para que todos los nodos realicen simultáneamente la llamada a la función global, la cual realiza la llamada a BLAS sobre los objetos distribuidos.
Cuando un nodo llama al nivel local, es equivalente a extraer la información local de los objetos (tipo de datos, dimensiones y puntero al buffer) y a realizar localmente la operación en cuestión llamando a funciones del nivel de BLAS correspondiente precedidas por PLA_ (ejemplo)
![Page 32: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/32.jpg)
Operaciones Matriz-VectorMultiplicación General Matriz-Vector:
ejemplo
![Page 33: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/33.jpg)
Operaciones Matriz-VectorMultiplicación Martiz_Simétrica – Vector
![Page 34: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/34.jpg)
Operaciones Matriz-VectorMultiplicación Martiz_Triangular – Vector
![Page 35: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/35.jpg)
Operaciones Matriz-Vector
Triangular Solve
![Page 36: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/36.jpg)
Operaciones Matriz-MatrizEn PLAPACK, las operaciones vector-vector están estratificadas como sigue:
PLAPACK proporciona llamadas independientes de la plataforma de nivel 3 de BLAS mediante la adición del prefijo PLA_ y proporciona 2 capas más:
El nivel global se emplea como medio de comunicación primario para que todos los nodos realicen simultáneamente la llamada a la función global, la cual realiza la llamada a BLAS sobre los objetos distribuidos.
Cuando un nodo llama al nivel local, es equivalente a extraer la información local de los objetos (tipo de datos, dimensiones y puntero al buffer) y a realizar localmente la operación en cuestión llamando a funciones del nivel de BLAS correspondiente precedidas por PLA_ (ejemplo)
![Page 37: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/37.jpg)
Operaciones Matriz-MatrizMultiplicación General de Matrices
![Page 38: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/38.jpg)
Operaciones Matriz-Matriz
Multiplicación General de Matrices (cont.)
![Page 39: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/39.jpg)
Operaciones Matriz-MatrizMultiplicación Matriz_Simétrica-Matriz
![Page 40: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/40.jpg)
Operaciones Matriz-Matriz
Multiplicación Matriz_Triangular-Matriz
![Page 41: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/41.jpg)
Otras Funciones
Conversión de Tipos (casting)
Copiar Contenido (los objetos han de tener la misma dimensión)
![Page 42: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/42.jpg)
Otras FuncionesCopia Especializada: copia solo la porción superior/inferior de una matriz triangular o, más generalmente, la porción superior/inferior de una matriz trapezoidal.
Se adopta que el objeto de entrada determina la forma de los datos a copiar.
![Page 43: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/43.jpg)
Otras FuncionesCopia Especializada
![Page 44: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/44.jpg)
BibliografíaRobert A. Van de Geijn, Using PLAPACK, April,1997.
Página Principal (sw + documentación): http://www.cs.utexas.edu/users/plapack/
Manual de Usuario (en html):http://www.cs.utexas.edu/users/plapack/Guide/Guide_html.html
![Page 45: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/45.jpg)
ANEXOS
Factorización de CholeskyInicialización de una PlantillaMultiplicación Matriz-VectorResumen Rutinas PLAPACK
![Page 46: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/46.jpg)
Factorización de CholeskyDada una matriz cuadrada simétrica positivamente definida A, la factorización de Cholesky de A viene dada por la expresión: A=LLT, donde L es triangular inferior.
![Page 47: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/47.jpg)
Factorización de CholeskyImplementación (machacando porción triangular inferior de A con L):
Observaciones:
El algoritmo no indexa explícitamente elementos individuales de la matriz original y referencia diferentes partes de la matriz actual, no la original.
Los bloques son referencias dentro de la matriz original.Se calcula factorización de A22 recursivamente, produciendo L22
![Page 48: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/48.jpg)
Factorización de Cholesky
Usando PLAPACK, el código paralelo necesario para realizar la factorización sería:
![Page 49: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/49.jpg)
Toda la información descrita por A (sus datos y cómo se distribuye en los nodos) es codificada en un objeto (estructura de datos) referenciado por a.
PLA_Obj_view_all crea una segunda referencia, acur, dentro de los mismos datos.
PLA_Obj_global_length extrae el tamaño actual de la matriz referenciada por acurSi es cero, la recursión ha terminado.
La llamada a PLA_Obj_split_4 particiona la matriz, creando nuevas referencias para los cuatro cuadrantes.
El elemento a11 es actualizado tomando su raíz cuadrada en la subrutina Take_sqrt.
a21 es escalado por 1/a11 llamando a PLA_Inv_scal y
Finalmente, la actualización de la matriz simétrica se logra mediante la llamada a PLA_Syr, que establece la siguiene iteración, correspodiente con el siguiente nivel de recursión en nuestro algoritmo original.
Factorización de Cholesky
![Page 50: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/50.jpg)
Inicializar una Plantilla Volver
![Page 51: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/51.jpg)
Multiplicación Matriz-Vector Volver
![Page 52: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/52.jpg)
Resumen de Rutinas PLAPACK
![Page 53: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/53.jpg)
Resumen de Rutinas PLAPACK
![Page 54: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/54.jpg)
Resumen de Rutinas PLAPACK
![Page 55: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/55.jpg)
Resumen de Rutinas PLAPACK
![Page 56: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/56.jpg)
Resumen de Rutinas PLAPACK
![Page 57: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/57.jpg)
Resumen de Rutinas PLAPACK
![Page 58: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/58.jpg)
Resumen de Rutinas PLAPACK
![Page 59: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/59.jpg)
Resumen de Rutinas PLAPACK
![Page 60: (Parallel Linear Algebra Package) - UM](https://reader035.vdocuments.us/reader035/viewer/2022070820/62c68aacb7d1f60dd4587d39/html5/thumbnails/60.jpg)
Resumen de Rutinas PLAPACK