8. PyPBLAS

Dentro de la distribución estándar de ScaLAPACK, se encuentran el conjunto de rutinas denominado PBLAS (Parallel Basic Linear Algebra Subprograms). Este conjunto de rutinas resuelven las principales operaciones algebraicas relacionadas con escalares, vectores y matrices. Se agrupan en tres niveles dependiendo de la complejidad de las operaciones implementadas:

Esta agrupación se ha llevado a cabo en la distribución estandar de las PBLAS. En las rutinas que mostramos a continuación hemos intentado respetar al máximo la nomenclatura de cada una de las rutinas así como la nomenclatura en los parametros utilizados. De este modo, cualquier persona con conocimientos básicos en el funcionamiento de PBLAS, le resultaría muy facil poder hacer uso de las rutinas implementadas en PyPBLAS puesto que muchas de las operaciones se automatizan resultando un proceso mucho mas sencillo como veremos en los diferentes ejemplos de este capítulo.

En el presente capítulo agruparemos las rutinas de PyPBLAS por niveles (1,2,3), sin embargo en el nombre de la rutina no se especifica ninguna relación con el nivel al que pertenece (igual que sucede con la distribución PBLAS). En nuestro caso, todas las rutinas que se corresponden con la colección PBLAS tienen el comienzo idetificativo de dicha colección, es decir, las funciones se llamarán PyPBLAS.* desde cualquier script de Python. Se ha de tener en cuenta que las rutinas PyPBLAS.* se encuentran en el módulo PyScaLAPACK, por lo que deberemos importar este módulo mediante import PyScaLAPACK o from PyScaLAPACK import *. El término que hemos señalado como * se corresponde con el nombre de la rutina que recibe dentro de la distribución PBLAS, de este modo conseguimos homogeneidad en la nomenclatura de nuestra distribución y facilitamos la migaración en la utilización de PBLAS a PyPBLAS o viceversa.

Antes de comenzar a ver el conjunto de rutinas importadas, se ha de tener en cuenta el nombre de las rutinas en PBLAS es dependiente del tipo de dato con el que vayamos a tratar, de este modo en vez de la letra v que aparecen en los nombres de las rutinas de PBLAS se deberá sustituir por la letra correspondiente dependiendo del tipo de dato utilizado:
Letra  Tipo   
S Dato real de precision simple  
D Dato real de precision doble  
C Dato complejo de precision simple  
Z Dato complejo de precision doble  
Sin embargo, no vamos a necesitar realizar esta distinción en las rutinas de PyPBLAS puesto que llamaremos a la misma rutina de Python y de forma interna se determina el tipo de de dato que ésta contiene y hará uso de la rutina correspondiente de modo interno y ajeno al usuario. De este modo conseguimos facilitar el trabajo en gran medida a un investigador ajeno al uso de las librerías PBLAS.



Subsecciones
See Sobre este documento... para sugerencias en cambios.