Revista
Internacional
de
Métodos
Numéricos
para
Cálculo
y
Diseño
en
Ingeniería
w w w . e l s e v i e r . e s / r i m n i
Un
esquema
paralelo
para
el
cálculo
del
pseudoespectro
de
matrices
de
gran
magnitud
B.
Otero
a,∗,
R.
Astudillo
by
Z.
Castillo
baDepartamentodeArquitecturadeComputadores,UniversidadPolitécnicadeCatalunya,Barcelona-TECH,C/JordiGirona1-3,C6-204,08034,Espa˜na
bCentrodeCálculoCientíficoyTecnológico,EscueladeComputación,FacultaddeCiencias,UniversidadCentraldeVenezuela,LosChaguaramos,Caracas,1040,Venezuela
i n f o r m a c i ó n
d e l
a r t í c u l o
Historiadelartículo:
Recibidoel10dejuliode2013 Aceptadoel31deoctubrede2013 On-lineel26deabrilde2014 Palabrasclave: Pseudoespectro MétodosdeKrylov Proyección Paralelizacióndedatos
r
e
s
u
m
e
n
Elpseudoespectroesunagranherramientaparaelestudiodesistemasdinámicosasociadosa matri-cesnonormales.Enlasúltimasdécadassuestudioyaplicaciónsehaintensificado,porloquerealizar sucálculodeformaeficienteresultadeespecialinterésparalacomunidadcientífica.Paramatrices degrandesdimensionessehanempleadodiferentesmétodos,entreloscualesdestacanlosmétodosde proyecciónenespaciosdeKrylov.EnestetrabajoseutilizalaideapropuestaporWrightyTrefethenpara aproximarelpseudoespectrodelamatrizusandounaproyecciónHmdemenortama ˜no.Adicionalmente,
seproponeunadescomposicióndeldominioensubregionesasignandoacadaprocesadorunasubregión. Cadaprocesadorcalculaelmenorvalorsingulardelamatriz(zI−Hm)paratodoslosvaloresz=x+yi
querepresentanlospuntosdelasubregiónasignada.Serealizarondiferentesexperimentosnuméricos cuyosresultadosfueroncontrastadosconlosobtenidosenlabibliografía.Entodosloscasosestudiadosel métodoimplementadomuestraunareduccióndeltiempodeejecuciónrespectoalaversiónsecuencial delprogramadesde41xhasta101x.
©2013CIMNE(UniversitatPolitècnicadeCatalunya).PublicadoporElsevierEspaña,S.L.U.Todoslos derechosreservados.
A
parallelizable
scheme
for
pseudospectra
computing
of
large
matrices
Keywords: Pseudospectra Krylovmethods Projection Dataparallelism
a
b
s
t
r
a
c
t
Thepseudospectraisapowerfultooltostudythebehaviorofdynamicsystemsassociatedtonon-normal matrices.Studiesandapplicationshaveincreasedinthelastdecades,thus,itsefficientcomputationhas becomeofinterestforthescientificcommunity.Inthelargescalesetting,differentapproacheshavebeen proposed,someofthembasedonprojectiononKrylovsubspaces.Inthisworkweusetheideaproposedby WrightandTrefethentoapproximatethepseudospectraofamatrixAusingaprojectionHmofsmaller
size.Additionally,weproposeadomaindecompositionoftheinterestregionintosubregionswhich areassignedtoasetofprocessors.Eachprocessorcalculatestheminimalsingularvaluesofmatrices (zI−Hm)wherez=x+yirepresentsapointofthecorrespondingsubregion.Weconductanumerical
experimentationcomparingtheresultswiththoseontheliteratureofthetopic.Inallcasestheproposed schemeshowsareductioninCPUtimewithrespecttothesequentialversion,achievingfrom41xto101x. ©2013CIMNE(UniversitatPolitècnicadeCatalunya).PublishedbyElsevierEspaña,S.L.U.Allrights reserved.
1. Introducción
Elcálculodelosautovaloresylosautovectoresdelasmatriceses
unpasoimportanteenmuchasaplicacionesderivadasdediferentes
ramasdelacienciaylaingeniería;sinembargo,cuandolamatriz
∗ Autorparacorrespondencia.
Correoselectrónicos:botero@ac.upc.edu(B.Otero),
reinaldo.astudillo@ciens.ucv.ve(R.Astudillo), zenaida.castillo@ciens.ucv.ve(Z.Castillo).
A∈Cn×nesaltamentenonormal1 lainformaciónquenosofrece
elespectro2delamatrizresultainsuficienteparaanalizarciertos
fenómenosimportantes,comoporejemploelcomportamientode
lassolucionesdesistemasdinámicosoelestudiodelosoperadores
ydesusperturbaciones[1].
1LamatrizA∈Cn×nesnonormalsiAA*=/ A*A,dondeA*eslamatrizconjugada traspuestadeA.
2(A)={z∈C:rank(zI−A)<n}={z∈C:(zI−A)essingular}. 0213-1315/$–seefrontmatter©2013CIMNE(UniversitatPolitècnicadeCatalunya).PublicadoporElsevierEspaña,S.L.U.Todoslosderechosreservados. http://dx.doi.org/10.1016/j.rimni.2013.10.004
Cuando lamatrizAes degrandes dimensionesel interésse
centraencalcularsolounapartedelpseudoespectro3,yes
sufi-cienteutilizaralgunatécnicadeproyecciónparaaproximarlo.En
lapráctica,lasproyeccionesenespaciosdeKrylovhanresultado
serefectivasenelcálculodelpseudoespectro[2,3],yaquebrindan
informaciónimportantesobrelosautovaloresytienenbajocosto
computacionalencomparaciónconmétodosclásicosque
obtie-nenunadescomposiciónenvaloressingularesdelamatrizencada
puntodelamalla,incrementandoelcostocomputacionaldeO(n3)
[3].Comosabemos,cadaautovalordeunamatrizAdeordennesun
númerocomplejo=a+biquepuedeserrepresentadoenelplano
mediantelascoordenadas(a,b).ElpseudoespectrodeApuedeser
caracterizadoporuna seriede contornoso curvasdenivel que
encierranelconjuntodeautovaloresdeestamatriz,locual
sig-nificaquecalcularelpseudoespectroesequivalenteahallarestas
curvas;porestarazón,enlaprácticaelresultadodeestecálculoes
unagráficadecontornos.
Enestetrabajosecalculaelpseudoespectrodematrices
gran-desydispersasusandoelmétododereinicioimplícitodeSorensen
[4]parahallarunaproyecciónHmdeAenunsubespaciodeKrylov.
Adicionalmente,seproponelaimplementacióndeunparalelismo
dedatosyserealizaunanálisisderendimientodelapropuesta
comparada con los resultados obtenidos al ejecutar la versión
secuencial.Laideaprincipaldetrásdelparalelismodedatosestá
intrínsecaenlametodologíadelcálculodelpseudoespectro,una
vezquesetratadehallarunaseriedecontornosocurvasdenivel
alrededordelospuntos(a,b)querepresentanlosautovaloresi
(i=1,...,n)dela matrizAdeordenn.Elprocesonatural para
hallarestoscontornoscomienzaconladefinicióndeunamallade
puntosenelplano.Laubicacióndelamalladepuntos
general-mentesehaceenunaregióndeinterés(porejemplo,enaquella
dondeseencuentranlosautovaloresdemayormagnitud),
mien-trasqueeltama ˜nodelamallaobedecealarelaciónposición/costo
computacionaly ambasdecisiones quedana juiciodelusuario.
Posteriormente,ytomandoencuentaqueelcálculodel
pseudoes-pectrorequiereconocerelmínimovalorsingularde(zI−A)para
todoslospuntosz=x+yi,donde(x,y)esunpuntodelagrilla,yque
estecálculopuederealizarseenparalelo,bastacondividirla
gri-lladeacuerdoalnúmerodeprocesadoresdisponiblesdemanera
balanceada.
Paradescribireltrabajorealizadohemosdivididoeldocumento
en6secciones:lasección2comentalostrabajosrelacionadoscon
losmétodosutilizadospara elcálculo delpseudoespectro ysus
implementacionesparalelas;la sección3describeelmétodode
proyecciónconestrategiadereinicioimplícito;lasección4
mues-tralapropuestaparalelarealizadaydefinelasmatricesutilizadasen
laexperimentaciónnumérica;lasección5realizaelanálisisdelos
resultadosobtenidosparalasmatricesestudiadasutilizandocomo
métricasderendimientoelspeedupylaeficiencia.Finalmente,la
sección 6muestra lasconclusionesdeltrabajoy se ˜nalafuturas
líneasdeinvestigación.
2. Trabajosrelacionados
Enestasecciónmostramoslosaportesqueanteriormentehan
realizadootrosautoresyqueestánrelacionadosconlosmétodos
paraelcálculodelpseudoespectroysusimplementaciones
parale-las.
2.1. Métodosparaelcálculodelpseudoespectro
Nuestro interés se centra en calcular (zI−A)−1 utilizando
2,para locualsenecesitacalcularelmínimovalorsingular
3
(A)eselconjuntodenúmerosz∈Ctalesque:(zI−A)−1>−1,>0.
deAencadapuntozdelamalla(smin(zI−A)).Estevalorpuede
obtenerseaplicandolaiteracióninversaaB=(zI−A)*(zI−A),con
(zI−A)*lamatrizconjugadatraspuestade(zI−A),enlugardehallar
ladescomposiciónenvaloressingularesdeA.
Un esquema más eficiente para calcular smin(zI−A) usa el
métododeLanczosinversoaplicadoalamatrizB=(zI−A)*(zI−A).
Encadaiteracióndeestemétodoesnecesarioresolversistemasde
ecuacioneslinealescon(zI−A)*y(zI−A),demaneraqueresulta
aconsejableobtenerinicialmentelafactorizacióndeSchurdela
matrizAparareducirelcostocomputacionalporiteración.Este
procedimientoeselnúcleodeeigs,elprincipalpaquete
computa-cionaldeMATLABparaelcálculodelpseudoespectrodesarrollado
porT.G.WrightymantenidoporM.Embree[5].Noobstante,
aun-queestemétodoesdeusocomún,suaplicaciónamatricesdegran
dimensiónnoesposibledebidoalimitacionesdememoriaoasu
altocostocomputacional.Adicionalmente,cuandolamatrizes
dis-persa,manejarestalimitaciónpuedellevaradestruiroanopoder
sacarpartidodelpatróndedispersióndelamatriz.Enestecaso,
espreferibleutilizarunmétododeproyecciónquepermita
traba-jarconunamatrizHmdemenordimensión(m«n).En[6]K.Tohy
L.TrefethenproponenusarlaiteracióndeArnoldiparaobtenerla
siguientefactorización:
AVm=VmHm+fme∗m, (1)
o
AVm=Vm+1Hm, (2)
dondeVmesunamatrizden×mcuyascolumnasson
ortonorma-lesyHmeslamatrizdeHessenbergsuperiorde(m+1)×m.Deesta
forma,elpseudoespectrodelamatrizApuedeseraproximadopor
elpseudoespectrodelamatrizrectangularHmdemenor
dimen-sión[7].Sinembargo, y a pesarde quela iteraciónde Arnoldi
puede serusadapara obtenerla factorizaciónen(2),esposible
queelpseudoespectrodeHmseaunaaproximacióndeficientedel
pseudoespectrodeA,razónporlacualseutilizanestrategiasde
reiniciación.
Una de las implementaciones más robustas del método de
Arnoldi con estrategia de reinicio es IRAM (Implicitly Restarted
ArnoldiMethod).Estaimplementaciónfue propuestapor Soren-senen[4,8]eimplementadaenMATLAB(eigs)yFortran(ARPACK
[9]).WrightyTrefethen[2]usaronIRAMenelcálculodel
pseu-doespectrodematrices dispersasdegrantama ˜no.Actualmente,
IRAMyotrosmétodosbasadosenfuncionesdetransferenciason
ampliamenteusadosparacalcularelpseudoespectroagranescala
(véanse,porejemplo,lostrabajosde[3,7,10]).Enparticular,eneste
trabajousaremosARPACK[9]debidoasucomprobadaeficiencia
computacionalenelcálculodeautovaloresdematricesdegrandes
dimensiones.
2.2. Paralelizacióndelcálculodelpseudoespectro
Hastaahorahemoscomentadolosmétodosmáscomúnmente
utilizadospararealizarelcálculodelpseudoespectroenuna
arqui-tecturaconvencional.Sinembargo,enlaliteraturatambiénexisten
otrasinvestigacionesrelacionadasconelcálculoenparalelo del
pseudoespectro[11–13].Todosestostrabajoshanevaluado
dife-rentesmétodosutilizandounareddecomputadoresformadapor
unospocosprocesadoresyusandoMATLABcomolenguajede
pro-gramaciónjuntoconalgunainterfazdecomunicaciónpararealizar
el paso de mensajes entre los procesadorestales como MPITB,
PVMTByMultiMATLAB,entreotras[11,12].Sinembargo,esbien
conocidopor todosque lafuncionalidad deMATLABes
permi-tir implementardeformarápidaprototiposdenuevosmétodos
numéricosparaevaluarsucomportamientoyresolverproblemas,
mejorenelrendimientocomputacionaldelmétodo[14]ypermitan
resolverproblemasagranescala.
Enestetrabajoproponemoslaparalelizacióndedatosparael
cálculodelpseudoespectroutilizandocomométododeproyección
IRAM.LaimplementaciónpropuestautilizaFortrancomolenguaje
deprogramaciónyMPIpararealizarelpasodemensajesentrelos
procesadores.
3. Métododeproyecciónconestrategiadereinicio:IRAM
Talycomoseestableceen[15],laideadetrásdeIRAMpuede
resumirseen3pasos:
•Paso1:extenderunafactorizacióndeArnoldideordenkauna
factorizacióndeArnoldideordenm,conk<m.
AVk=VkHk+fke∗k→AVm=VmHm+fme∗m. (3)
•Paso2:reordenarlafactorizacióndeArnoldideordenmdetal
maneraquelosautovaloresaparezcanenlasubmatrizprincipal
deHm.
AVm=VmHm+fme∗m→AVm=VmHm+fme∗m. (4)
•Paso3:deflactarlafactorizaciónreordenadaparaobteneruna
nuevafactorizacióndeordenk.
AVm=VmHm+fme∗m→AVk=VkHk+fke∗k. (5)
Elpaso2deesteprocesorequierep=m−kaplicacionesdela
iteraciónQRcondesplazamientosobrelamatrizHm,usandocomo
parámetrosdedesplazamientolosp=m−kautovaloresno
desea-dos(exactshifts).EstoproduceunamatrizHmsimilaraHm,que
contienelosautovaloresordenadosdemaneraquelainformación
deseadaseencuentraenlasubmatrizprincipaldeHm.Másaún,
porcadaaplicacióndelmétodoQRcondesplazamiento,usando
(unautovalornodeseado),lamatrizresultanteHm=R∗Q+Ies
tambiénunamatrizdeHessenberg.Deestamanera,ladeflaciónen
elpaso3selograseleccionandoapropiadamentecadacomponente
delafactorizacióndeordenmdelpaso2hastaobteneruna
facto-rizacióndeordenk,conlamismaestructuraquelaoriginalpero
enriquecidaconlainformacióndelosautovaloresdeseados.
Eneste trabajo usaremos IRAM para obtenerla matriz
rec-tangularHm y aproximarel pseudoespectro deAcalculando el
pseudoespectrodeHm.SiguiendolarecomentacióndeWrighten
[2]parareducireltiempocomputacionalrealizamosuna
factori-zaciónQRde(zI−Hm)porcadapuntozdelaregióndeinterés,y
aplicamosLanczosinversoaR*R,dondeR*eslamatrizconjugada
traspuestadeR.Elsiguientealgoritmodescribeesteproceso:
Algoritmo1. CálculodelpseudoespectrousandoIRAM
1. Seleccionarlosparámetrosdereiniciok,m
2. EjecutarARPACKparaobtenerlamatrizHm
3. DefinirydiscretizarlaregióndeinterésKenelplanocomplejo Paracadapuntoz∈Kdelaregióndiscretizada
4. CalcularladescomposiciónQRdezI−Hm 5. Obtenermax(z)usandoLanczosinversosobreR*R 6. Obtenersmin(Hm):min(z)=1/
max(z)
4. Paralelizacióndelcálculodelpseudoespectro
Laideageneraldelaparalelizacióndedatosparaelcálculodel
pseudoespectroconsisteenaplicarelalgoritmoanterior
simultá-neamenteenvariospuntosdelaregión.Pararealizarestodividimos
laregióndiscretizadaenpsubregiones,dondepeselnúmerode
procesadoresutilizadosparadeterminarelpseudoespectro.Deesta
100,0 90,0 80,0 70,0 60,0 50,0 40,0 Speed up 30,0 20,0 10,0 2 Procesadores Speed up Malla de 100×100 puntos 4 8 16 32 64 128 Rbd (a) (b) Crystal Bwm Airfoil – 100,0 90,0 80,0 70,0 60,0 50,0 40,0 Speed up 30,0 20,0 10,0 2 Procesadores Speed up Malla de 200×200 puntos 4 8 16 32 64 128 Rbd Crystal Bwm Airfoil – 100,0 90,0 80,0 70,0 60,0 50,0 40,0 Speed up 30,0 20,0 10,0 2 Procesadores Speed up Malla de 300×300 puntos 4 8 16 32 64 128 Rbd (c) (d) Crystal Bwm Airfoil – 100,0 90,0 80,0 70,0 60,0 50,0 40,0 Speed up 30,0 20,0 10,0 2 Procesadores Speed up Malla de 400×400 puntos 4 8 16 32 64 128 Rbd Crystal Bwm Airfoil –
Figura1. Speedupobtenidoalaumentarlacantidaddepuntosenlasmallas:a) 100×100;b)200×200;c)300×300;d)400×400.
forma,cadaprocesadorcalculasmin(zI−A)parasus
correspondien-tespuntosz.
Lacantidaddepuntosencadasubregiónpuedevariar,yaque
esposiblequelacantidaddepuntosenlamallanoseamúltiplo
delnúmerodeprocesadores.Siconsideramosunamallaformada
pormx×mypuntosysielcociente(c)de mx×pmy noesunvalor
entero,entoncesasignamosacadaprocesadortantospuntoscomo
correspondaalaparteenteradelcocientecyelrestodepuntoslos
distribuimosentrelosprimeros((mx×my)modp)procesadores.
Ladistribucióndepuntosenlosprocesadoresnoesobjetodeeste
trabajoysepuedeusarcualquieresquemaderepartición.
Anterior-mente,sedescribióelesquemaqueusaremosalrealizarlaspruebas
numéricas.Alfinalizarelcálculo,cadaprocesadorenvíaal
procesa-dormasterlatripletadevectores(X,Y,Smin(zI−Hm)).Elprocesador masterguardatodosestosdatosenunficheroparaposteriormente
visualizarelcontornodelpseudoespectrohallado.
Todoslos experimentos numéricos serealizaron enun
clus-terformadopor113nodos,deloscuales73sonXeonDual-Core
5148yelrestosonXeonL5630Dual.Paraobtenerlaproyección
HmdelamatrizAutilizamosARPACK[9].Laaplicaciónfue
imple-mentadausandoellenguajedeprogramacióngfortran4.5.3para
desarrollarlaversiónsecuencialyMPI-f90paralaversiónparalela.
Finalmente,usamoslafuncióncontourdeMATLAB7.8.0(R2009a)
paravisualizarlascurvasdenivelquemuestranelpseudoespectro
delasmatricesestudiadas.Latabla1muestralascaracterísticasde
estasmatrices.
5. Análisisdelosresultados
Elrendimientodenuestramejorversiónsecuencialfue
contras-tadoentiempoyprecisiónconelesquemaparaleloimplementado
usando2,4,8,16,32,64y128procesadores.Conrespectoaltiempo
obtenidoporlaaplicación,lafigura1muestraelspeedup
alcan-zadoencadacasoconsiderandomallasformadaspor100×100,
200×200,300×300y400×400puntos.
Los resultados mostrados representan el promedio del
ren-dimiento obtenido después de realizar 30 ejecuciones de cada
experimentonumérico.Sepuedeobservarquealincrementarla
cantidaddeprocesadoresutilizadosenlasejecucionessinvariar
lacantidaddepuntosenlasmallas,seincrementaelrendimiento
delaaplicaciónparatodaslasmatrices.Porotraparte,lafigura1
tambiénmuestracómoalaumentarlacantidaddepuntosenlas
mallasvaríaelspeedupalcanzado,siendomáximoparamallasde
Tabla1
Característicasdelasmatricesdelosexperimentosnuméricos
Nombre Dimensión Intervalodelaregión Aplicación
Rbd[16] 800×800 [−1,1;1,1]×[−0,2;2,5] Ingenieríaquímica
Bwm4 2.000×2.000 [−25;5]×[−7;7] Reaccionesquímicas
Crystal5 10.000×10.000 [3;7]×[−1,5;1,5] Crecimientodelcristal Airfoil6 23.560×23.560 [−1,5;0]×[−1,5;1,5] Interacciónfluidoestructura 4http://math.nist.gov/MatrixMarket/data/NEP/mvmbwm/mvmbwm.html 5http://math.nist.gov/MatrixMarket/data/NEP/crystal/crystal.html 6http://math.nist.gov/MatrixMarket/data/NEP/airfoil/airfoil.html 1,0 0,1 2 Procesadores Eficiencia 4 8 16 32 64 128 Eficiencia Malla de 100×100 puntos Rbd Crystal Bwm Airfoil 1,0 0,1 2 Procesadores Eficiencia 4 8 16 32 64 128 Eficiencia Malla de 200×200 puntos Rbd Crystal Bwm Airfoil 1,0 0,1 2 Procesadores Eficiencia 4 8 16 32 64 128 Eficiencia Malla de 300×300 puntos Rbd Crystal Bwm Airfoil 1,0 0,1 2 Procesadores Eficiencia 4 8 16 32 64 128 Eficiencia Malla de 400×400 puntos Rbd Crystal Bwm Airfoil
Figura2.Eficienciadelaimplementación(mostradaenescalalogarítmica) aumen-tandolacantidaddepuntosenlasmallas:a)100×100;b)200×200;c)300×300;d) 400×400.
Paramallasde100×100laescalabilidaddelaaplicaciónestá
cercade alcanzarsuvalor óptimo(número deprocesadoresde
laejecución) cuandoutilizamos 2,4, 8y16 procesadores.Para
estoscasospuedeobservarsequelaeficienciaobtenidaesdecasi
1(fig.2a).Sinembargo,apartirde32procesadoreseltiempode
cálculodecadaprocesadornocompensaeltiempode
comunica-ciónrequerido. Lacantidaddecálculo para cadaprocesadoren
esteexperimentoresultainsuficientecuandoutilizamosmásde
32procesadores.Adicionalmente,paralasmallasde200×200y
300×300losvaloresdelaeficienciaaumentanyel rangodela
eficienciaparatodaslasejecucionesseencuentraentre0,6y0,98
(figs.2by2c).
Paramallasde400×400,elincrementoenlacantidadde
pro-cesadoresmejoraelspeedupobtenido,aunquelosresultadosde
rendimientonomejoranlosalcanzadosenlasmallasde200×200
y300×300yaque,enestecaso,eltiempodecomunicaciónyla
cantidaddepuntosdelamalla(tama ˜nodelosmensajes)
comien-zanadegradarelparalelismo.Losmejoresresultadosparatodas
las matrices estudiadas y ejecuciones realizadas se obtuvieron
paralasmallasde200×200,dondeelspeedupobtenidocon128
procesadoresaumentaentre35xy41xrespectoalrendimiento
con-seguidoporlaaplicaciónparalasmallasde100×100(tabla2).La
eficienciapromedioobtenidaenestecasoesde0.79(fig.2b).
Tabla2
Speedupalcanzadoutilizando128procesadoresvariandolacantidaddepuntosen
lasmallas Matriz/Mallas 100×100 200×200 300×300 400×400 Rdb 41x 77x 79x 71x Bwm 65x 101x 80x 67x Crystal 51x 92x 90x 74x Airfoil 54x 89x 84x 87x 2,5 1,5 1,5 –0,5 –0,5 –1,5 –1,5 –1,5 –0,5 –2 0 2 4 6 0 –1 –1 –1 –1 –2 –3 –4 –5 –6 –7 –8 –9 –10 –11 0,5 0,5 0 0 1 1 (a) (b) (c) (d) 6 4 2 0 –2 –4 –6 1,5 0,5 0 –1 –0,5 0 0,5 1 –20 –15 –10 –5 0 5 Eje real Eje real Eje real Eje real Eje imaginario
Eje imaginario Eje imaginario
Eje imaginario
1 2
Figura3.Pseudoespectrodelasmatrices:a)Rdb;b)Bwm;c)Airfoil;d)Crystalpara =10−1,10−2,...,10−11.
Hastaahorahemosanalizadolareducciónobtenidaenlos tiem-posdeejecucióndelaimplementaciónpropuesta.Acontinuación comentaremoslosresultadosobtenidosenfuncióndelaprecisión obtenidaalcalcularelpseudoespectrodelasmatrices.Lafigura3
muestralascurvasdecontornosdelpseudoespectroobtenidaspara
lasmatricesestudiadas.Estascurvasofreceninformaciónsobreel
comportamientodelosautovaloresdelasmatricesencondiciones
deperturbaciónenlosniveles
=10−1,10−2,...,10−11.Esimpor-tantese ˜nalarquehastaahoranoexisteunaformarobustayprecisa
demedirlaprecisióndelcálculodelpseudoespectro,unavezque
elresultadosepresentaatravésdegráficasdecontornos
alrede-dordelosautovalores,dondecadacontornorepresentaunnivel
delpseudoespectro.Sinembargo,encadaunodelosexperimentos
contrastamosestasimágenesconlasyaobtenidasporotrosautores
delabibliografía,específicamenteconlaspresentadasporK.Toh
yL.Trefethenen[6]ylasquepuedenserobservadasenlapágina
webmantenidaporM.Embree[5].
Porotraparte,existenmétodosparamedirelgradodesimilitud
de2imágenesgráficas,ypuedenseraplicadosaestosresultados.
Enparticular,en[17](apéndiceB)R.Astudillomuestrauna
compa-racióndeestetipoentérminosdediferenciaentrepíxelesycomo
ejemplosutilizalasmatricesquesepresentanenestedocumento.
Sinembargo,esteinteresantetemaestáfueradelalcancedeeste
artículoyseremiteallectoralostrabajosse ˜nalados.
Paracadacasocomprobamosquelasimágenesobtenidasdel
pseudoespectrodecadamatrizcoincidenconlaspresentadasenla
bibliografía,específicamenteconlaspresentadasporTohy
Trefet-henen[6]yquepuedenobservarseenlafigura3.Estosresultados
sonlosesperadosentodosloscasos.
6. Conclusiones
En este trabajo se desarrolla y evalúa un esquema paralelo
método de reinicio implícito. Específicamente se propone una
paralelizaciónde datos realizando una división deldominio de
la región donde deseamos conocer el comportamiento de los
autovalores.De esta manera, los procesadores pueden trabajar
en paralelo para determinarel pseudoespectro. Estapropuesta
disminuyesignificativamenteeltiempodecómputo.Paraevaluar
el rendimiento de la implementación propuesta se utilizaron
diferentes matrices procedentes de la bibliografía, incluyendo
eneste documentouna muestra representativade las mismas.
Engeneral,losmejoresresultadosobtenidosseregistraronpara
mallasde200×200,obteniendounaeficienciapromediodehasta
0,79 yunspeedup de101xal ejecutar laaplicación paralelaen
128procesadores.
Unanálisiscomparativoindicaqueelesquemaparalelosupera
computacionalmenteyconbuenrendimientolaversiónsecuencial.
Eldocumentoincorporaunanálisisdeescalabilidaddelesquema
paralelopropuesto, elcualsugierelaconveniencia deusareste
esquemasiemprequesedispongadeunaarquitecturacon
capaci-daddecálculoenparalelo.Lasmatricesseproyectaroninicialmente
paratrabajarconmatricesdemenordimensión;laspruebas
mues-tranloefectivodeestaestrategia.
Engeneral,los resultados son alentadores y apoyanla
pro-puestadeaproximarelpseudoespectrodegrandesmatricesusando
unaproyecciónounaaproximacióndelamatrizaotramatrizde
menordimensión,paraluegodividirlaregióndeinterésy
para-lelizarelcálculodelpseudoespectro.Porestarazón,continuamos
trabajandoenestadirecciónimplementandoesteesquema
para-lelo,peroahoraenunaplataformaconGPU’s(GraphicsProcessing
Unit).
Agradecimientos
Estetrabajohasidoposible gracias alapoyodel Consejode
DesarrolloCientíficoyHumanísticodelaUniversidadCentralde
Venezuela (CDCH) ydel Ministerio de Ciencia y Tecnologíade
Espa ˜na(TIN2012-34557).
Bibliografía
[1]L.N.Trefethen,M.Embree,Spectraandpseudospectra:Thebehaviorof non-normalmatricesandoperators,PrincetonUniversityPress,2005.
[2]T.G.Wright,L.N.Trefethen,Large-scalecomputationofpseudospectrausing ARPACKandeigs,SIAMJ.Sci.Comput.23(2)(2002)591–605.
[3]R.Astudillo,Z.Castillo,ComputingpeudospectrausingBlockImplicitlyArnoldi Iteration,Math.Comput.Modell.57(2013)2149–2157.
[4]D. Sorensen,Implicitly RestartedArnoldi/Lanczosmethods forlargescale eigenvaluecalculations,Tech.Rep.TR-96-40(1996).
[5]M.Embree,L.N.Trefethen,Pseudospectragateway[consultado26Mar2014]. Disponibleen:http://www.cs.ox.ac.uk/pseudospectra/
[6]K.Toh,L.N.Trefethen,CalculationofpseudospectrabytheArnoldiIteration, SIAMJ.Sci.Comput.17(1)(1996)1–15.
[7]T.G.Wright,L.N.Trefethen,Pseudospectraofrectangularmatrices,IMAJNA22 (4)(2002)501–519.
[8]D.Sorensen,Implicitapplicationofpolynomialfiltersinak-stepArnoldi met-hod,SIAMJ.MatrixAnal.Appl.13(1)(1992)357–385.
[9]R.Lehoucq,D.Sorensen,C.Yang,ARPACKusersguide:Solutionoflargescale eigenvalueproblemsbyImplicitlyRestartedArnoldimethods,SIAM,1998. [10]V.Simoncini,E.Gallopoulos,Transferfunctionsandresolventnorm
approxi-mationoflargematrices,Electron.Trans.Numer.Anal.7(1998)190–201. [11]C.Bekas,E.Kokiopoulou,E.Gallopoulos,V.Simoncini,Parallelcomputation
ofpseudospectrausingtransferfunctionsonaMATLAB-MPIclusterplatform RecentAdvancesinParallelVirtualMachineandMessagePassingInterface, LectureNotesinComputerScience,2474,2002,pp.199–207.
[12]C.Bekas,E.Kokiopoulou,E.Gallopoulos,Thedesignofadistributed MATLAB-basedenvironmentforcomputingpseudospectra,FutureGener.Comp.Sy.21 (6)(2005)930–941.
[13]C.Bekas,E.Gallopoulos,Cobra:Parallelpathfollowingforcomputingthematrix pseudospectrum,ParallelComput.27(14)(2001)1879–1896.
[14]J.Dongarra,V.Eijkhout,Numericallinearalgebraalgorithmsandsoftware, J.Comput.Appl.Math.123(2000)489–514.
[15]Z.Castillo,Anewalgorithmforcontinuationandbifurcationanalysisoflarge scalefreesurfaceflows,Ph.D.thesis,RiceUniversity(2004).
[16]B.Hassard,N.Kazarinoff,Y.Wan,TheoryandApplicationsofHopfBifurcation, CambridgeUniversityPress,1981.
[17]R.Astudillo,Análisiseimplementacióndenuevosesquemasparaelcálculodel pseudoespectro,Master’sthesis,EscueladeComputación,FacultaddeCiencias, UniversidadCentraldeVenezuela(2011).