{"id":677,"date":"2010-10-21T14:32:12","date_gmt":"2010-10-21T12:32:12","guid":{"rendered":"http:\/\/www.ehu.es\/sgi\/Arina\/?p=677"},"modified":"2011-03-28T13:42:58","modified_gmt":"2011-03-28T11:42:58","slug":"qsub-estandar-a","status":"publish","type":"post","link":"https:\/\/www.ehu.eus\/sgi\/arina_eu\/lanak-bidali\/qsub-estandar-a","title":{"rendered":"Ohizko qsub komando"},"content":{"rendered":"<p>Programak ilaretara bidaltzeko agindu hau erabiltzen da\u00a0<strong>qsub<\/strong>:<\/p>\n<p><tt>qsub script_file<\/tt><br \/>\n<!--more--><br \/>\n<tt>script<\/tt> artxiboak\u00a0<strong>TORQUE<\/strong> ilara-kudeatzailearentzako sasiaginduak eta exekutatzeko aginduak ditu, lana abian jartzeko. Datozen ataletan zenbait script daude zehaztuta. Behin lana ilarara bidalita, pantailan prozesuaren identifikazio-zenbakia jasoko dugu, adibidez:<\/p>\n<p><tt>159.lgua00<\/tt><\/p>\n<p>Exekutatu ondoren, egiaztatu script.e159 artxiboaren edukia, kasu honetan akatsik badagoen ikusteko. Programaren irteera estandarra hemen dago: scrip.o159.<\/p>\n<ul>\n<li>Serieko lanak<a name=\"sec:trabajo_serie\"><\/a>Serieko lanetan\u00a0<strong>komeni da<\/strong> tokiko diskoko espazioa erabiltzea,\u00a0<tt>\/scratch<\/tt> partizioa. Irakurri eta idatzi arinago egiten da, lanaren onerako. Gainera, idazteko eta irakurtzeko ez da sarea (NFS) erabiltzen eta, beraz, gainerako nodoetan arinago egiten da lan eta sarea ez da betetzen.Scriptak agindu hau medio bidaltzen dira ilara-sistemara:<tt>qsub script_file<\/tt>\n<p>edo modu interaktiboan:<\/p>\n<p><tt>qsub script_file<\/tt><\/p>\n<p>Arkitektura edo nodo mota aukeratzeko begiratu\u00a0<a href=\"http:\/\/www.ehu.es\/sgi\/Euskeraz\/Otras_directivas_PBS_ct.html#sec:otras_directivas\">otras directivas<\/a>.<\/p>\n<p>a.out programak exekutatzen duen script-eredu bat hau da:<\/p>\n<p><tt>#!\/bin\/bash<br \/>\n#PBS -l walltime=[val]<br \/>\n#PBS -l mem=[val]<br \/>\n#PBS -l nodes=1:ppn=1<br \/>\n<\/tt><\/p>\n<p><tt>#Konpiladore edo libreriak zehaztu nahi badira,<br \/>\n#kendu # urrengo lerroan eta editatu egokienak<br \/>\n#source \/opt\/intel\/mkl10\/tools\/environment\/mklvars64.sh<br \/>\n#source \/opt\/intel\/fc\/10.1.017\/bin\/ifortvars.sh<br \/>\n#Gure scratch direktorioa<br \/>\nscrt=\/scratch\/$USER\/$PBS_JOBID<\/tt><\/p>\n<p><tt> <\/tt><\/p>\n<p><tt>mkdir $scrt<br \/>\n#Artxiboak scratch direktorioan kopiatu.<br \/>\n#cp -r erabiliko dugu azpidirektorietan ere kopiatzeko.<br \/>\ncp $PBS_O_WORKDIR\/* $scrt<\/tt><\/p>\n<p><tt>#Direktorioz aldatu<br \/>\ncd $scrt<\/tt><\/p>\n<p><tt>#Programa exekutatu<br \/>\n.\/a.out<\/tt><\/p>\n<p><tt>#Azkeneko artxiboak gure home delakora bidali<br \/>\noutdir=aukeratu_izena<br \/>\nmkdir $PBS_O_WORKDIR\/$outdir<br \/>\nmv -f $scrt\/* $PBS_O_WORKDIR\/$outdir<\/tt><\/p>\n<p><tt><\/tt><tt>#Direktorioa ezabatu<br \/>\nrmdir $scrt<br \/>\n<\/tt><\/p>\n<p><tt>#PBS<\/tt>-rekin hasten diren lerroak ilara-kudeatzailearentzako aginduak dira; hauek aukeratzen dituzte:<\/p>\n<p><tt>nodes<\/tt>: [opcional] Kalkulu-nodoa aukeratzeko erabil daiteke (adibidea: nodes=cn14).<\/p>\n<p><tt>mem<\/tt>: Kalkulatzeko gordetako RAM memoria, mb edo gb-tan neurtua (adibide: [val]=100mb).<\/p>\n<p><tt>walltime<\/tt>: Mikroprozesadorean erreserbatutako denbora, ordua\/minutua\/segundoa formatuan (adibidea: [val]=24:00:00).<\/p>\n<p><tt>#<\/tt>-rekin hasten diren gainerako lerroak komentarioak dira.<\/p>\n<p>Scriptean aukeratu behar da emaitzak non gorde nahi ditugun eta\u00a0<tt>aukeratu_izena<\/tt>-gatik ordezkatu.\u00a0<tt>$USER<\/tt> aldagaiak erabiltzailearen izena bueltatzen du,\u00a0<tt>$PBS_O_WORKDIR<\/tt> aldagaiak\u00a0<tt>qsub<\/tt> agindua exekutatzen den lan-direktorioa eta\u00a0<tt>$PBS_JOBID<\/tt> aldagaiak lanaren identifikazio-zenbakia.<\/p>\n<p><tt>a.out<\/tt> programa ez badago $PATHaren direktorioren batean ez badago (adibidez:\u00a0<tt>\/usr\/local\/bin<\/tt>), baizik gure direktorioan,\u00a0<tt>.\/a.out<\/tt> erabili behar da.<\/p>\n<p><a href=\"http:\/\/www.ehu.es\/sgi\/Euskeraz\/ARCHIVOS\/script_s\" target=\"_top\">Serieko lanaren adibidea<\/a>.<\/p>\n<p>Exekutatu ondoren, egiaztatu script.e<tt>XXX<\/tt> artxiboaren edukia, akatsik badagoen ikusteko.<\/p>\n<p>PBSrako aginduak komandoan bertan adieraz daitezke, scriptean beharrean; lana bidaltzeko hau erabili behar da:<\/p>\n<p><tt>qsub -l nodes=[name],mem=[val],walltime=[val] script<\/tt> <a name=\"sec:send_scr\"><\/a><\/li>\n<li>Lana paraleloan<a name=\"sec:trabajo_paralelo\"><\/a>Lana 4 prozesadore edo 8 prozesadore nodo bakoitzeko bidaltzea komeni da; era horretan, itxaron denborak txikitzen dira. Halaber,\u00a0<strong>komeni da<\/strong> lanak tokian-tokian idaztea, nodotan, ahal denean behintzat.Lana nodo batean bakarrik badago edo, nodo gehiagotan egonda ere, mikroprozesadoreek ez badituzte artxiboak partekatzen, lana tokiko diskoan bakarrik idatz daiteke. Scriptak agindu hau medio bidaltzen dira ilara-sistemara:<tt>qsub script_file<\/tt>\n<p>edo modu interaktiboan:<\/p>\n<p><tt>qsub script_file<\/tt><\/p>\n<p>Arkitektura edo nodo mota aukeratzeko begiratu\u00a0<a href=\"http:\/\/www.ehu.es\/sgi\/Euskeraz\/Otras_directivas_PBS_ct.html#sec:otras_directivas\">otras directivas<\/a>.<\/p>\n<p>a.out programak paraleloan exekutatzen duen script-eredu bat hau da:<\/p>\n<p><tt>#!\/bin\/bash<br \/>\n#PBS -l nodes=[val]:ppn=[val]<br \/>\n#PBS -l walltime=[val]<br \/>\n#PBS -l mem=[val]<br \/>\n<\/tt><\/p>\n<p><tt>#Programa Inteleko 8.0 konpiladoreekin konpilatua izan bada,<br \/>\n#ifort edo icc, kendu # urrengo lerroan<br \/>\n#source \/software\/etc\/intel8.sh<\/tt><\/p>\n<p><tt>#Gure scratch direktorioa<br \/>\nscrt=\/scratch\/$USER\/$PBS_JOBID<\/tt><\/p>\n<p><tt><\/tt><tt>mkdir $scrt<br \/>\n<\/tt><\/p>\n<p><tt>#Artxiboak scratch direktorioan kopiatu.<br \/>\n#cp -r erabiliko dugu azpidirektorioak ere kopiatzeko.<br \/>\ncp $PBS_O_WORKDIR $scrt<\/tt><\/p>\n<p><tt>#Direktorioz aldatu<br \/>\ncd $scrt<\/tt><\/p>\n<p><tt>#Programa exekutatu<br \/>\nmpirun a.out<\/tt><\/p>\n<p><tt>#Azkeneko artxiboak mugitu<br \/>\noutdir=aukeratu_izena<br \/>\nmkdir $PBS_O_WORKDIR\/$outdir<br \/>\nmv -f $scrt\/* $PBS_O_WORKDIR\/$outdir<\/tt><\/p>\n<p><tt><\/tt><tt>#Direktorioa ezabatu<br \/>\nrmdir $scrt<br \/>\n<\/tt><\/p>\n<p><tt>#PBS<\/tt>-rekin hasten diren lerroak ilara-kudeatzailearentzako aginduak dira; hauek aukeratzen dituzte:<\/p>\n<p><tt>nodes<\/tt>: Programa exekutatuko den nodo-kopurua (adibidea: [val]=2).<\/p>\n<p><tt>ppn<\/tt>: Programak nodo bakoitzeko erabiliko duen mikroprozesadore-kopurua (adibidea: [val]=4).<\/p>\n<p><tt>mem<\/tt>: Kalkulatzeko gordetako RAM memoria, mb edo gb-tan neurtua (adibide: [val]=100mb).<\/p>\n<p><tt>walltime<\/tt>: Mikroprozesadorean erreserbatutako denbora, ordua\/minutua\/segundoa formatuan (adibidea: [val]=24:00:00).<\/p>\n<p>Scriptean aukeratu behar da emaitzak non gorde nahi ditugun eta\u00a0<tt>aukeratu_izena<\/tt>-gatik ordezkatu.\u00a0<tt>$USER<\/tt> aldagaiak erabiltzailearen izena bueltatzen du,\u00a0<tt>$PBS_O_WORKDIR<\/tt> aldagaiak\u00a0<tt>qsub<\/tt> agindua exekutatzen den lan-direktorioa eta\u00a0<tt>$PBS_JOBID<\/tt> aldagaiak lanaren identifikazio-zenbakia.<\/p>\n<p>Paraleloko lanaren adibidea, tokiko diskoa erabilita:\u00a0<a name=\"tex2html7\"><\/a>.<\/p>\n<p>Lana nodo bat baino gehiagoan ibiliko bada eta prozesuek artxiboak partekatzen badituzte,\u00a0<tt>gscratch<\/tt>-en exekutatu behar dira,\u00a0<tt>gscratch<\/tt> nodo guztiek partekatzen duten sistema da (<a href=\"http:\/\/www.ehu.es\/sgi\/Euskeraz\/Konfigurazioa_ct.html#sec:arina_cfg\">begiratu configurazioan<\/a>). Hori egiten duen scripta hau da:<\/p>\n<p><tt>#!\/bin\/bash<br \/>\n#PBS -l nodes=[val]:ppn=[val]<br \/>\n#PBS -l walltime=[val]<br \/>\n#PBS -l mem=[val]<br \/>\n<\/tt><\/p>\n<p><tt>#Programa Inteleko 8.0 konpiladoreekin konpilatua izan bada,<br \/>\n#ifort edo icc, kendu # urrengo lerroan<br \/>\n#source \/software\/etc\/intel8.sh<\/tt><\/p>\n<p><tt>#Gure scratch direktorioa<br \/>\nscrt=\/gscratch\/$USER\/$PBS_JOBID<\/tt><\/p>\n<p><tt><\/tt><tt>mkdir $scrt<br \/>\n<\/tt><\/p>\n<p><tt>#Artxiboak scratch direktorioan kopiatu.<br \/>\n#cp -r erabiliko dugu azpidirektorioak ere kopiatzeko.<br \/>\ncp $PBS_O_WORKDIR $scrt<\/tt><\/p>\n<p><tt>#Direktorioz aldatu<br \/>\ncd $scrt<\/tt><\/p>\n<p><tt>#Programa exekutatu<br \/>\nmpirun a.out<\/tt><\/p>\n<p><tt>#Azkeneko artxiboak mugitu<br \/>\noutdir=aukeratu_izena<br \/>\nmkdir $PBS_O_WORKDIR\/$outdir<br \/>\nmv -f $scrt\/* $PBS_O_WORKDIR\/$outdir<\/tt><\/p>\n<p><tt><\/tt><tt>#Direktorioa ezabatu<br \/>\nrmdir $scrt<br \/>\n<\/tt><\/p>\n<p>Paraleloko lanaren adibidea, honen bidez:\u00a0<a href=\"http:\/\/www.ehu.es\/sgi\/Euskeraz\/ARCHIVOS\/script_p_gscrt\">NFS<\/a>.<\/p>\n<p>Exekutatu ondoren, egiaztatu script.e<tt>XXX<\/tt> artxiboaren edukia, akatsik badagoen ikusteko.<\/p>\n<p>PBSrako aginduak komandoan bertan adieraz daitezke, scriptean beharrean; lana bidaltzeko hau erabili behar da:<\/p>\n<p><tt>qsub -l nodes=[val]:ppn=[val],mem=[val],cput=[val] script<\/tt><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Programak ilaretara bidaltzeko agindu hau erabiltzen da\u00a0qsub: qsub script_file<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[68],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/677"}],"collection":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/comments?post=677"}],"version-history":[{"count":6,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/677\/revisions"}],"predecessor-version":[{"id":4094,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/677\/revisions\/4094"}],"wp:attachment":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/media?parent=677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/categories?post=677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/tags?post=677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}