scieee Science in your language
[en] (orig)

Manual de uso ScaLapack

Read accessible full text

Manual de uso ScaLapack

Author: Contreras, Iván
Publisher: Zenodo
DOI: 10.5281/zenodo.17259177
Source: https://zenodo.org/records/17259177/files/Scalapack.pdf
La compilaci´on de los ejemplos se hizo con el compilado que se encuen a
en
/ us / local / Cella / mpich /4.0.1/ bin / mpi 90
La cual p o iene de la Ins alaci´on de mpich ´ıa Homeb ew
i anc@I ans -Mac - mini GGMMC % cd / oo
i anc@I ans -Mac - mini GGMMC % a -xz scalapack . gz
Renomb e el di ec o io hacia donde ue ex aido, de scalapack-1.8.0 a SCALA-
PACK
Ejecu e los siguien es comandos :
i anc@I ans -Mac -mini GGMMC % cd SCALAPACK
i anc@I ans -Mac - mini GGMMC % cp SLmake . inc . example SLmake . inc
Edi e SLmake.inc y haga los siguien es cambios:
BLACSdi = / us / local / lib
USEMPI = -DUsingMpiBlacs
SMPLIB =
BLACSFINIT = $( BLACSdi )/ blacsF77ini _MPI -$( PLAT )-$( BLACSDBGLVL ). a
BLACSCINIT = $( BLACSdi )/ blacsCini _MPI -$(PLAT )-$( BLACSDBGLVL ). a
BLACSLIB = $( BLACSdi )/ blacs_MPI -$( PLAT )-$( BLACSDBGLVL ). a
TESTINGdi = $( home )/ TESTING
( BLACSdi )/ blacs_PVM -$( PLAT )-$( BLACSDBGLVL ). a
TESTINGdi = $( HOME )/ p m3 /bin /$( PLAT )
F77 = mpi 77
F77LOADFLAGS =
CC = mpicc
CCLOADFLAGS =
BLASLIB = / us / local / a las / lib / lib 77blas . a /us / local / a las /lib / liba las . a
LAPACKLIB = / us / local / lib / lapack_LINUX . a
Ejecu e los siguien es comandos
i anc@I ans -Mac - mini GGMMC % cd / oo / SCALAPACK
i anc@I ans -Mac -mini GGMMC % make
i anc@I ans -Mac -mini GGMMC % make exe
i anc@I ans -Mac -mini GGMMC % make example
Pa a Ejecu a las p uebas ejecu e los siguien es comandos pa a pode co e
los c´odigos de ejemplo :
cd / oo / SCALAPACK / TESTING
mpi un -np 5 ./ xdlu ./ LU .da
mpi un -np 5 ./ xdll ./ LLT . da
e c ... And inally ins all he ScaLAPACK lib a y by:
chmod 555 / oo / SCALAPACK / libscalapack .a
cp / oo / SCALAPACK / libscalapack . a /us / local / lib
Aho a s´ı puede ejecu a las p uebas
cd / oo / SCALAPACK / TESTING
mpi un -np 5 ./ xdlu ./ LU .da
mpi un -np 5 ./ xdll ./ LLT . da
1
Funcionamien o de la biblio eca Scalapack en cómpu o en
pa alelo con memo ia dis ibuida.
Se desc ibe el mapeo p eciso que asocia una en ada de la ma iz, po sus índices
globales, con las coo denadas del p ocesado que la posee así como su posición
local en la memo ia de ese p ocesado .
BLACS
Las ope aciones básicas del Álgeb a Lineal con enidas en dicha biblio eca
Ope aciones de Ni el 1 ec o - ec o
Ope aciones de Ni el 2 ma iz - ec o
Ope aciones de Ni el 3 ma iz - ma iz
Requie en de es uc u as de da os especiales pa a ap o echa las u inas especi i-
cadas.
Ma ices densas
Pa a ma ices densas, los da os se dis ibuyen de acue do con el esquema de
capas de da os cíclico po bloques en dos dimensiones.
Dada una ma iz
»
—
—
—
—
–
ap1q
11 ap1q
12 ¨ ¨ ¨ ap1q
1n
ap1q
21 ap1q
22 ¨ ¨ ¨ ap1q
2n
.
.
..
.
.....
.
.
ap1q
n1ap1q
n2¨ ¨ ¨ ap1q
nn
i
i
i
i
i
l
(1)
Es á se dis ibui á siguiendo el algo i mo Block-Cycling pa a segui con la
aplicación del mé odo de eliminación Gaussiana, el cual educe la ma iz en
subma ices cuad adas de acue do con el siguien e esquema:
»
—
—
—
—
—
—
—
—
—
–
ap1q
11 ap1q
11 ¨¨¨ ¨¨¨ ¨¨¨ ap1q
11
0ap2q
22 ap2q
2n
.
.
.....
.
.
0¨ ¨ ¨ 0apkq
kk ¨ ¨ ¨ apkq
kn
.
.
..
.
..
.
..
.
.
0¨ ¨ ¨ 0apkq
nk ¨ ¨ ¨ apkq
nn
i
i
i
i
i
i
i
i
i
i
l
(2)
O ganización lógica de los p ocesado es
en una malla bidimensional en la que se iden i ica cada p ocesado con una
posición de la malla.
1
Dis ibución de los bloques de la ma iz en e los p ocesado es. Cada bloque es
asignado a un p ocesado siguiendo el algo i mo de epa ición cíclico.
En es e ejemplo se ienen 4 p ocesado es , una ma iz de 16
ˆ
16 con bloques de
2ˆ2
Elemen os undamen ales (Ejemplo con un a eglo una dimensión)
Supongamos que se iene un a eglo de longi ud N que se á almacenado en P
p ocesado es. Po con ención, las en adas del a eglo es án nume adas de 1 a N
mien as que los p ocesado es es án nume ados de 0 a P-1. P ime o, el a eglo
se di ide en bloques de amaño NB. Cuando N no es di isible en e NB sin
esiduo, el úl imo bloque con end á ese esiduo , es deci mod(N,NB) en adas
en luga de NB. Po con ención, es os bloques son nume ados desde 0 y son
dis ibuidos en e los p ocesado es como un mazo de ca as. En o as palab as , si
asumimos que el p ocesado 0 ecibe el p ime bloque, en onces el k-esimo bloque
es asignado al p ocesado con coo denadas mod(k,P). Los bloques asignados al
mismo p ocesado son almacenados en localidades de memo ia con igua.
La ó mula pa a hace el mapeo es
2
I“kNB `x“ plP `pq ˚ NB `x(3)
Donde
I
es el índice global en el a eglo,
l
es es la coo denada local del bloque en
el cual eside es a en ada,
p
es la coo denada de el p oceso pe enecien e a ese
bloque y
x
es la coo denada en el bloque donde se encuen a la en ada con índice
Idel a eglo global. Con base en lo an e io se pueden es ablece los siguien es
despejes pa a calcula los alo es co espondien es de mane a independien e.
p“ pI´1q{NBsmodP, l “ pI´1q{pP˚NBqs (4)
x“modpI´1, NBq ` 1(5)
Fó mulas
Mapeo de lo global a lo local de acue do con la o ganización lógica de los
p ocesado es.
Nnúme o de en adas de la ma iz
Pnúme o de p ocesado es
P yPcNúme o de englones y columnas de la malla
p ,pccoo denadas del p ocesado en la malla.
NB yMB pa ición en bloques de la ma iz.
pI, Jqson las en adas en la ma iz global
En el caso de una ma iz, si es á se pa e en
NB ˆMB
bloques y el p ime
bloque es asignado al p ocesado con coo denadas
pRSCR, CSRCq
se aplican
las ó mulas pa a la en ada
pI, Jq
. Es a se localiza á en el p ocesado con
coo denadas pP , Pcqen el bloque local pl, mqen la posición px, yq.
Además
p“SRC ` ppI´1q{NBqqmodP (6)
l“ ppI´1q{pP˚NBqq (7)
x“modpI´1, NBq ` 1(8)
Coo denadas del el p ocesa os donde es á almacenado el p ime bloque de la
ma iz.
pl, mq “ ppI´1q{pP ˚MBqq,ppJ´1q{pPc˚NBqq
pp , pcq “ ppRSRC`ppI´
1
q{MBqqmodP ,pCSRC`ppJ´
1
q{NBqqmodPc
px, yq“pmodpI´1, MBq ` 1, modpJ´1, NBq ` 1q
La es uc u a de la ma iz se di ide en bloques que se epa en en e los p oce-
sado es siguiendo el algo i mo cíclico quedando pa icionada y dis ibuida de la
siguien e mane a:
3
Re e encias
[1]
Donga a J.,Fos e , I.,To czon L., G opp W., "Sou cebook o Pa allel
Compu ing". Mo gan Kau mann Publishe s, 2003.
4