You are on page 1of 8

Instalao do programa FLASH, verses 3.0 e 4.

0
1) Instalao dos pacotes externos, de dependncia do FLASH. O Flas !ode depende de 3 pa"otes e#ternos para s$a e#e"$o. Ass%m, eles devem estar %nstalados no L%n$# antes de %n%"%ar a %nstalao do pr&pr%o so't(are Flas 4. )O*A+ A,$% ser- "ons%derado o L%n$# ./$nt$ 11.040amd14 2natt3) "omo re'er4n"%a ao nome dos pa"otes neste man$al. Alg$mas o$tras d%str%/$%es L%n$# podem tra5er $ma pe,$ena var%ao ness0 es nomes. Ass%m, pode ser ,$a ao ser "%tado $ma re'er4n"%a em ./$nt$, em o$tra d%str%/$%o pode ser ne"ess-r%o pro"$rar o pa"ote e,$%valente o$ "ompat6vel "om o "%tado neste man$al. 1.A) 78I 27essage 8ass%ng Inter'a"e) 0 8a"ote para e#e"$o de programas em paralelo. O Flas 4 ne"ess%ta de alg$ma %mplementao 78I para e#e"$o. )o L%n$#, e#%stem 3 %m0 plementaes nat%vas e 9- pr:0"omp%ladas destes re"$rsos+ 78I!H, 78I!H; e O8<)78I . A/ordaremos as d$as %mplementaes+ Open7p%01.3 e 78I!H;. A/ra o s3napt%" e %nstale os pa"otes Open7p%+ 1. openmp%0/%n, ;. openmp%0"ommon, 3. openmp%0" e"=po%nt, 4. openmp%0do", >. l%/openmp%1.3, 1. l%/openmp%0dev, ?. l%/openmp%0d/g. !omandos+ sudo synaptic 2entre no /oto search na tela do S3napt%" e d%g%te openmp%. Set os pa"otes a"%ma para %ns0 talao e de "l%,$e so/ o /oto apply para %nstalao e'et%va dos pa"otes.) Instale agora os pa"otes 78I!H; 1. mp%" ;, ;. mp%" ;0do" 3. l%/mp%" ;0; 4. l%/mp%" ;0dev !omandos+ sudo synaptic 2entre no /oto search na tela do S3napt%" e d%g%te mp%" . Set os pa"otes a"%ma para %ns0 talao e de "l%,$e so/ o /oto apply para %nstalao e'et%va dos pa"otes.) 1.@) HAF> L%/rar3. @%/l%ote"a para ler 'ormato de dados %erar,$%"os. *am/:m e#%stem pa"otes nat%vos e 9- pr:0"omp%lados na ma%or%a das d%str%/$%es L%n$#. A/ra novamente o s3napt%" e %nstale os pa"otes+ 1. >$t%ls, ;. d'>0tools, 3. d'v%e(, 4. l%/ d'>0do". !omandos+ sudo synaptic 2entre no /oto search na tela do S3napt%" e d%g%te d'>. Set os pa"otes a"%ma para %ns0 talao e de "l%,$e so/ o /oto apply para %nstalao e'et%va dos pa"otes.)

1.!)

8arallel0)et!AF 28)et!AF) 0 8rograma para man%p$lar ar,$%vos de 'ormato )<*!AF. <sta : $ma %mplementao de e#e"$o paralela para man%p$lao destes t%pos de ar,$%vos. 2e#%stem pa"otes net"d' 9- %mplementados no L%n$#, por:m de e#e"$o se,$en"%al). )o e#%ste %mplementao pr:0"omp%lada do 8arallel0)et!AF nat%va em L%n$#. Ass%m serne"ess-r%o a"essar o s%te http://trac.mcs.anl.go /pro!ects/parallel"netcd#, /a%#ar o pa"ote 'onte do parallel)et!AF e "omp%lar o programa. 1.!.a) Instale os pa"otes de "omp%ladores B!!, BFOC*CA) nat%vos de s$a d%str%/$%o LI).D. 1. g"", ;. gEE, 3. gEE04.>, 2Flt%ma verso) 4. g'ortran, >. g'ortranEE04.> 2Flt%ma verso) 1. op"%onalmente, o$tros pa"otesG'erramentas "omplementares nat%vos de s$a d%s0 tr%/$%o L%n$# para os "omp%ladores g"" e g'ortran. 2ta%s "omo '??, 'H0, 'H>, ';", et"). !omando+ sudo synaptic 2entre no /oto search na tela do S3napt%" e d%g%te g""I gEEI g'ortranI et". Set os pa"otes a"%ma para %nsalao e "l%,$e so/ o /oto apply para %nstalao e'et%va dos pa"otes.) 1.!./) !r%e o d%ret&r%o *este em se$ d%ret&r%o de tra/al o. !omando+ mkdir $HOME/Teste 1.!.") A/ra $m navegador J<@, entre no l%n= a/a%#o ttp+GGtra".m"s.anl.govGpro9e"tsGparallel0net"d'G(%=%GAo(nload /a%#e o pa"ote parallel0net"d'01.;.0.tar.g5 e o grave no d%ret&r%o KHO7<G*esteG. 1.!.d) Aes"ompa"te o pa"ote parallel0net"d'01.;.0.tar.g5. !omandos+ cd $HOME/Teste tar -zxvf parallel-netcdf-1. .!.tar."z

1.!.e) Ser- "r%ado o d%ret&r%o parallel0net"d'01.;.0. <ntre neste d%ret&r%o. !omandos+ cd $HOME/Teste/parallel-netcdf-1. .!

1.!.') !omo %nd%"ado no ar,$%vo C<AA7<, o 8arallel0)et!d' ne"ess%ta dos pa"otes "om0 plementares 3a"", /%son e 'le# do L%n$# para poder rodar. )o "aso do ./$nt$, %nstale os pa0 "otes 1. /%son, /%sonEE, /%son"EE, /%son"EE0do" ;. 3a"", /3a"", /t3a"", 3. 'le#, 'le#0do". !omando+ sudo synaptic 2entre no /oto search na tela do S3napt%" e d%g%te /%sonI 3a""I 'le#. Sele"%one os pa"otes a"%ma para %nsalao e "l%,$e so/ o /oto apply para %nstalao e'et%va dos pa"otes.) 1.!.g) Fe" e o s3napt%" e rode o "omando $pdate0manager. Le9a se ser- ne"ess-r%o alg$ma at$al%5ao dos pa"otes %nstalados o$ de alg$ns o$tros pa"otes em se$ s%stema L%n$#

a%nda no at$al%5ados. . !aso pos%t%vo, a$tor%5e o $pdate. As at$al%5aes sero e'et$0 adas. Agora, re%n%"%e o "omp$tador 2mesmo ,$e ao t:rm%no do pro"esso de at$a0 l%5ao se9a sol%"%tado o restart) para ,$e o =ernel L%n$# possa ser re%n%"%al%5ado "om os pa"otes at$al%5ados. !omandos+ sudo update-mana"er sudo s#utdo$n -r no$ 1.!. ) !r%e o d%ret&r%o G$srGlo"alGparallel)et!AF para %nstalao do programa. !omando+ sudo mkdir /usr/local/parallel%ET&'( 1.!.%) <ntre no d%ret&r%o KHO7<G*esteGparallel0net"d'01.;.0. !omando+ cd $HOME/Teste/parallel%et&'(-1. .! 1.!.9) !r%ao das var%-ve%s de Am/%ente 8ara a "omp%lao do programa 8net!AF ser- ne"ess-r%o "on'%g$rarmos alg$mas v-r%ave%s de Am/%ente no L%n$# ne"ess-r%as para a "omp%lao do pa"ote. A/ra $m novo ar,$%vo em ed%tor de te#tos 2padro AS! II, "omo =(r%te o$ ged%t) "op%e e "ole o "onteFdo a/a%#o. Brave0o no d%ret&r%o KHO7<G*esteGparallelnet"d'0 1.;.0G "om o nome de !omp%leALL.s . <m seg$%da, d4 perm%sso de e#e"$o para este s"r%pt.
#!/bin/bash SHELL=/bin/bash clear unset USEFORTRAN # export USEFORTRAN=/usr/bin/ !ortran export USEFORTRAN=/usr/bin/ !ortran"#$% # export USEFORTRAN=/opt/intel/bin/i!ort # export USEFORTRAN=/usr/bin/!ort&& export F'= export F'=(USEFORTRAN export FFLA)S= export 'O*+,LE-F=(USEFORTRAN export F&&=(USEFORTRAN export )&&=(USEFORTRAN export F./=(USEFORTRAN export F.%=(USEFORTRAN ## 0irecti1es to ' an2 '33 'o4pilers export ''=/usr/bin/ cc export '55=/usr/bin/ 33 ## 'o4pile 6ith *pich7 # export *+,''=/usr/bin/4picc$4pich7 # export *+,'55=/usr/bin/4pic33$4pich7 # export *+,F&&=/usr/bin/4pi!&&$4pich7

# export *+,F./=/usr/bin/4pi!./$4pich7 ## 'o4pile 6ith Open*pi export *+,''=/usr/bin/4picc$open4pi export *+,'55=/usr/bin/4pic33$open4pi export *+,F&&=/usr/bin/4pi!&&$open4pi export *+,F./=/usr/bin/4pi!./$open4pi clear r4 "!R /usr/local/parallelNet'0F/8$8 $/con!i ure ""pre!ix=/usr/local/parallelNet'0F ""enable"!ortran ""enable"4pi"io"test ""6ith" 4pi=/usr 4a9e clean 4a9e 4a9e install clear ls "l /usr/local/parallelNet'0F/

!omandos+

sudo k$rite )ou "edit* $HOME/Teste/parallel%et&'(-1. .!/&ompile+,,.s# 2"op%e e "ole o "onte$do do s"r%pt a"%ma e grave o ar,$%vo) sudo c#mod -.. $HOME/Teste/parallel%et&'(-1. .!/&ompile+,,.s#

Alg$mas o/servaes nas l%n as ,$e "ompem este s"r%pt deste se 'a5em %mportantes. So elas+ export USEFORTRAN. <la %nd%"a ,$al "omp%lador Fortran ser- $sado para "omp%lar o 8net!AF. A,$% est- sendo $sado o B'ortran04.>. 8ode0se "ont$do optar por o$tro "omp%lador. export '' M Ind%"a o "omp%lador ! a ser $sado. export '55 M Ind%"a o "omp%lador !EE a ser $sado na "omp%lao do 8net!AF. export *+,'': *+,'55: *+,F&& e *+,F./ M Setam a %mplementao 78I a ser $sada na "omp%0 lao do 8net!AF. A,$% neste s"r%pt est- setada o $so da Open78I 2l%n as no "omentadas "om $ .) 8ode0se "ont$do, espe"%'%"ar a 7p%" ; o$ 7p%" dependendo dos erros dados no pro"esso de "omp%0 lao. 1.!.=) !omp%lao do pa"ote 8aralle0)et!AF *ente "omp%lar o pa"ote, rodando o s"r%pt (HO*E/Teste/parallelNet'0F";$7$//'o4" pileALL$sh e o/serve as mensagens ,$e pro"esso de "omp%lao %nd%"a. !omando+ $HOME/Teste/parallel%et&'(-1. .!/./&ompile+,,.s# N m$%to "om$m erros nesta 'ase, ta%s "omo /%/l%ote"as o$ pa"otes ne"ess-r%os O "om p%lao do 8arallel)<*!AF e ,$e no esto %nstalados em se$ am/%ente L%n$#. O$ a%nda, mapeamentos a pat Ps de ar,$%vos %nternos no am/%ente L%n$# no setados pelo "omando "on'%g$re no s"r%pt !omp%leALL.s . .m dos erros ,$e a"onte"e "om 're,$4n"%a neste sent%do : "omp%lar 8arallel0)et!AF "om a %mplementao 78I!H;. A "erta etapa do pro"esso, a "omp%lao : a/ortada por,$e o "omando .G"on'%g$re 2em !omp%leALL.s ) no "onseg$e lo"al%5ar a l%/ 78I0IO l%/rar3. !aso %sso a"ontea, tente "omp%lar o programa parallel0)<*!AF "om o$tra %mple0

mentao 78I. !omente 2"om $) as l%n as %nd%"at%vas da 78I!H; e des"omente as l%n as %nd%"at%vas da Open78I no s"r%pt !omp%leALL.s , salve as alteraes e tente rodar este s"r%pt novamente. <n'%m, "om $ma an-l%se dos erros reportados : ne"ess-r%o tentar resolv40los para ,$e a "omp%lao '%nal do programa 8arallel0)<*!AF se9a "ompletada. Se a "omp%lao do 8)et!AF 'or "on"l$6da "om s$"esso, ter- ,$e ter "r%ado no d%ret&r%o G$srGlo"alGparallel)et!AF os s$/d%ret&r%os .G/%n, .G%n"l$de, .l%/ e .Gman. !omando+ ls -las KHOME/Teste/parallel%et&'(-1. .!/ !aso "ontr-r%o, rep%ta a "omp%lao do s"r%pt KHO7<G*esteGparallel0)<*!AFG!omp%leAL0 L.s ver%'%"ando poss6ve%s erros dados d$rante o pro"esso. *odos os passos e#e"$tados at: a,$% 'oram apenas para a %nstalao dos pa"otes e programas de de0 pend4n"%a do FLASH 4.D. A %nstalao do programa em s%, "omea agora. ;) Instalao do programa FLASH %.& ;.A) !r%e o d%ret&r%o de %nstalao e e#e"$o para o FLASH. )este g$%a ser- $sado o d%ret&r%o KHO7<G!odeFlas 4 "omo e#emplo. !omando+ mkdir KHOME/&ode(las#/ ;.@) <ntre no s%te #ttp0//flas#.uc#ica"o.edu/site/flas#code/ preen" a o 'orm$l-r%o de !ode Ce0 ,$est "om se$s dados. 8oster%ormente, o s%te l e env%ar- $m ema%l 2para a "onta "adastrada no s%te) "ontendo $m $s$-r%o e pass(ord para a"essar o s%stema e poder 'a5er o do(nload do pa"ote do FLASH4 2$m ar,$%vo .tg5 "ompa"tado e 9- "ontendo o programa "omp%lado para LI).D). @a%#e o pa"ote FLASH40alp a.tar.g5 e o grave no d%ret&r%o "r%ado a"%ma 2KHO7<G!odeFlas 4). ;.!) A"esse este d%ret&r%o e des"ompa"te o ar,$%vo. Ser- "r%ado o d%ret&r%o FLASH40alp aQrelease. !omandos+ cd KHOME/&ode(las#// tar -zxvf (,+1H/-alp#a.tar."z

;.A) <ntre em FLASH40alp aQrelease. )ote ,$e no pro"esso de des"ompa"tao do pa"ote 'o% "r%a0 da $ma estr$t$ra de d%ret&r%os, e entre eles, o s$/d%ret&r%o sites. <ntre neste d%ret&r%o 2s%tes). !omando+ cd KHOME/&ode(las#//(,+1H/-alp#a2release/sites/

;.<) A/ra $m term%nal L%n$# de "omando e d4 o "omando 'name "n. ;.F) <stando dentro do s$/0d%ret&r%o FLASH40alp aQreleaseGs%tes, "r%e $m novo s$/d%ret&r%o "om o mesmo nome retornado do "omando una4e "r dado a"%ma. 2A$rante a s$a e#e"$o, o progra0 ma Flas 4 pro"$ra por $m ar,$%vo 27a=e'%le. ) dentro de $m s$/d%ret&r%o "om nome do ost0 name da estao, no pat ./(,+1H/-alp#a2release/sites/. <ste ostname : dado pelo "omando $name 0n). )o e#emplo deste man$al, o ostname deste "omp$tador : vana e%m.dge.%npe./r.

Ass%m, : ne"ess-r%o tomar alg$m "$%dado ,$ando por a"aso, 'or tro"ado o ostname do "omp$0 tador, po%s o programa FLASH4 poder- parar de '$n"%onar dev%do a este pat . !omandos+ /usr/3in/terminal )ou /usr/3in/konsole* 2e na tela do term%nal, d4 o "omando ./uname -n ) m(dir KHOME/&ode(las#//(,+1H/-alp#a2release/sites/)retorno uname -n*
2 e#emplo+ m=d%r KHO7<G!odeFlas 4GFLASH40alp aQreleaseGs%tesGvana e%m.dge.%npe./r )

;.B) A/ra $m novo ar,$%vo em ed%tor de te#tos 2padro AS! II, "omo =(r%te o$ ged%t), "op%e e "ole o "onteFdo a/a%#o. Brave0o no d%ret&r%o "r%ado no %tem a"%ma, "om o nome de 7a=e'%le. !omandos+ k$rite )ou "edit* (HOME/&ode(las#//(,+1H/-alp#a2release/sites/)retorno uname -n*/Makefile.# 2"op%e e "ole o "onte$do do s"r%pt a/a%#o e grave o ar,$%vo)
2 e#emplo+ =(r%te KHO7<G!odeFlas 4GFLASH40alp aQreleaseGs%tesGvana e%m.dge.%npe./r G7a=e'%le. ) # FLASH 4a9e!ile 2e!initions !or x<="=# Linux >)NU co4pilers? # # H0F#-+ATH = H0F%-+ATH = /usr/bin @L,A-+ATH = +A+,-+ATH = +A+,-FLA)S = N'*+,-+ATH = /usr/local/parallelNet'0F *+E-+ATH = ## En1iron4ent 1ariables !or usin 6ith 4pich7 i4ple4entation F'O*+ = /usr/bin/4pi!./$4pich7 ''O*+ = /usr/bin/4picc$4pich7 '++'O*+ = /usr/bin/4picxx$4pich7 L,NB = /usr/bin/4pi!./$4pich7 ## En1iron4ent 1ariables !or usin 6ith open4pi i4ple4entation$ ## F'O*+ = /usr/bin/4pi!./$open4pi ## ''O*+ = /usr/bin/4picc$open4pi ## '++'O*+ = /usr/bin/4picxx$open4pi ## L,NB = /usr/bin/4pi!./$open4pi ++ = "0

FFLA)S-O+T = " "c "O7 "!2e!ault"real"< "!2e!ault"2ouble"< "!!ree"line"len th"none "CuninitialiDe2 FFLA)S-0EAU) = " "c "!2e!ault"real"< "!2e!ault"2ouble"< "!!ree"line"len th"none "pe2antic "Call "Cextra "Ccon1ersion "Cun2er!lo6 "!!pe"trap=in1ali2:Dero:o1er!lo6 "!boun2s"chec9 "!open4p FFLA)S-TEST = " "c "!2e!ault"real"< "!2e!ault"2ouble"< "!!ree"line"len th"none F./FLA)S = 'FLA)S-O+T = " "c "O7 "CuninitialiDe2

'FLA)S-0EAU) = " sa!e"loop"opti4iDations "Cpa22e2 'FLA)S-TEST = " "c

"c "pe2antic "Call "Cextra "Cinit"sel! "!tree"1rp "C!loat"eEual "Cun"

# i! 6e are usin H0F%: 6e nee2 to speci!F the path to the inclu2e !iles 'FLA)S-H0F% = ", /usr/bin/inclu2e "0H%-USE-;=-A+, 'FLA)S-N'*+, = ", /usr/bin/inclu2e LFLA)S-O+T = "o LFLA)S-0EAU) = " "o LFLA)S-TEST = "o L,A-O+T = "L /usr/lib "l4pl L,A-0EAU) = L,A-TEST = L,A-H0F# = L,A-H0F% = "L /usr/lib "lh2!% L,A-+A+, = L,A-*ATH = L,A-*+, = L,A-N'*+, = "L /usr/lib "lpnetc2! L,A-*+E = *A'HOAG = *H = 41 "! AR = ar "r R* = r4 "! '0 = c2 RL = ranlib E'HO = echo

Alg$mas l%n as do ar,$%vo a"%ma mere"em ateno e devem ser re"on'%g$radas de a"ordo "om se$ am/%ente L%n$# rodando em se$ "omp$tador. So elas+ A) )!78IQ8A*H 2ma%s o$ menos na l%n a R deste ar,$%vo). <la deve apontar para o d%0 ret&r%o de %nstalao do 8arallel)et!AF. <ste d%ret&r%o : espe"%'%"ado no arg$mento Mpre'%#, da l%n a de "omando "on'%g$re do s"r%pt "omp%leAll.s no %tem 1.!.9 deste man$al. @) F!O78, !!O78, !88!O78 e LI)S M <stas var%-ve%s devem apontar para $ma das ver0 ses 78IPs %nstaladas em se$ am/%ente L%n$# 2%tem 1 deste man$al). 8re'eren"%almente para a mesma %mplementao de "omp%lao do programa 8aral0 lel0)et!AF 28net!AF), setada no s"r%pt !omp%leALL.s )este e#emplo, o programa 8net!AF 'o% "omp%lado "om Open78I, devendo esta %mplementao ser setada neste ar,$%vo 7a=e'%le. . !ont$do, pode ser setada o$tras %mplementaes 2"omo mp%" , mp%" ;), "aso se9a ne"ess-r%o. 8ara %sso, "omente estas l%n as ,$e setam estas var%-ve%s para %mplementao Open78I e des"o0 mente as l%n as re'erentes a %mplementao de s$a pre'er4n"%a. O so't(are Flas 4 ser- "omp%la0 do e gerado "om /ase nesta %mplementao.

;.H) Iniciando a compilao do Flash %.). ;.H.a) <ntre no d%ret&r%o KHO7<G!odeFlas 4GFLASH40alp aQrelease. !omando+ cd KHOME/&ode(las#//(,+1H/-alp#a2release/

;.H./) Code o "omando ./setup "%tando "omo parTmetro, o modelo de s%m$lao e os arg$0 mentos para este modelo. O FLASH 4.0 ser- ento "omp%lado e ter- se$ "&d%go e#e"$t-vel /aseado neste modelo de s%m$lao dado "omo parTmetro. Os modelos de s%m$lao s$portados pelo FLASH 4 podem ser o/t%dos "om o "omando ./setup 4#elp o$ nos d%ret&r%os dentro de ./source/1imulation/1imulationMain/ !omo e#emplo, s$pon a ter dado "omando ./set'p magnetoH*/+rio,' "-d "a'to ./0a e O "omando set$p %r- ento preparar a "omp%lao do FLASH4 para gerar $m e#e"$t-vel ro0 dando "om a s%m$lao magnetoHAG@r%oJ$ "om os parTmetros 'orne"%dos. ;.H.") <ntre no d%ret&r%o KHO7<G!odeFlas 4GFLASH40alp aQreleaseGo/9e"t. ;.I.".1) A4 o "omando ma(e clean ;.I.".;) A4 o "omando ma(e para %n%"%ar a "omp%lao do e#e"$t-vel Flas 4. Se o pro"esso 'or "on"l$%do "om s$"esso, ter- s%do "r%ado $m ar,$%vo e#e"$t-vel, de nome #lash%. ;.I.".3) F%nalmente, rode o programa dando o "omando ./#lash% para e#e"$t-0lo. Lem/re0se ,$e ele 'o% gerado "om o modelo e os parTmetros 'orne"%dos no %tem ;.H./ a"%ma. 8ortanto, para si4ulaIJo 2o FLASH # co4 u4 no1o 4o2elo: serK necessKrio u4a no1a reco4pilaIJo 2o cL2i o, devendo0se re%n%"%ar o pro"esso a part%r do %tem ;.H./ a"%ma.

Sequncia de comandos para a compilao e execuo do FLASH 4.0


'o4an2osM cd (HOME/&ode(las#//(,+1H/-alp#a2release/ ./setup ma"netoH'/5rio6u -1d -auto 78$ave cd ./o39ect make clean make ./flas#/ 2%n%"%a a "omp%lao) 2e#e"$ta "&d%go)

You might also like