Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
grid [2008/10/29 11:23] bojar oprava odkazu |
grid [2008/11/26 19:46] stepanek qcmd |
| |
===== Triky a opentlení ===== | ===== Triky a opentlení ===== |
| |
| |
==== ~bojar/tools/shell/qsubmit ==== | ==== ~bojar/tools/shell/qsubmit ==== |
</code> | </code> |
| |
| lépe funguje ''~{stepanek,pajas}/bin/qcmd'' (nemusí se kvotovat parametry, správně počítá čas běhu...) |
| |
==== ~zeman/bin/qsub.csh ==== | ==== ~zeman/bin/qsub.csh ==== |
| |
(Kdybych místo uvozovek použil apostrofy, nerozbalily by se mi proměnné. První argument (název skriptu) klidně mohl být v uvozovkách spolu s přesměrováním. Dal jsem ho ven jen proto, že potom ''qsub.csh'' podle něj pojmenuje job ve frontě.) | (Kdybych místo uvozovek použil apostrofy, nerozbalily by se mi proměnné. První argument (název skriptu) klidně mohl být v uvozovkách spolu s přesměrováním. Dal jsem ho ven jen proto, že potom ''qsub.csh'' podle něj pojmenuje job ve frontě.) |
| |
| |
| |
| |
Jako ''$BRUNBLOCKS'', ale spouští úlohy na gridu (bez pomoci [[internal:jtred]]u). | Jako ''$BRUNBLOCKS'', ale spouští úlohy na gridu (bez pomoci [[internal:jtred]]u). |
| |
| qrunblocks filelist blocks |
| |
| Skript zadanou hromádku souboru rozdělí do ''-''''-jobs'' jobů. Každý job na gridu pak projede své soubory danou sekvencí bloků. |
| |
Skript zadanou hromádku souboru rozdělí do N jobu. Každý job na gridu pak projede své soubory danou sekvencí bloků. | Soubory možno zadat filelistem, nebo pomocí ''-''''-glob'' (stručně ''-g''). Bloky možno vyjmenovat v jednom argumentu, nebo načíst ze souboru pomocí ''--blocksfile SOUBOR''. |
| |
Je nutné buď zadat ''--tmt-root CESTA'', nebo mít nastaven ''$TMT_ROOT'' podle inicializace TectoMT. | Je nutné buď zadat ''-''''-tmt-root CESTA'', nebo mít nastaven ''$TMT_ROOT'' podle inicializace TectoMT. |
| |
Parametr ''-E'' zpusobí, že se jobům z aktuálního prostředí procedí všechny proměnné ''TMT_PARAM_*'' (čili např. model parseru ap.). Případně je pomocí ''-e'' možné vyjmenovat některé (další) ručně. | Parametr ''-E'' zpusobí, že se jobům z aktuálního prostředí procedí všechny proměnné ''TMT_PARAM_*'' (čili např. model parseru ap.). Případně je pomocí ''-e'' možné vyjmenovat některé (další) ručně. |
| |
Parametr ''--sync'' způsobí, že skript navíc bude čekat, až všechny joby skončí. | Parametr ''-''''-sync'' způsobí, že skript navíc bude (pasivně) čekat, až všechny joby skončí. |
| |
Výstup každého jobu jde do vlastního logu, ''JOBNAME.o123456''. Pokud JOBNAME nezadáte (parametr ''-N''), užije se defaultní ''qrunblocks''. | Výstup každého jobu jde do vlastního logu, ''JOBNAME.o123456''. Pokud JOBNAME nezadáte (parametr ''-N''), užije se defaultní ''qrunblocks''. |
| |
Zatím není na závěr nijak testováno, jestli se analýzy povedly. Jediné, o co se snažím, je, aby na konci každého logu bylo napsáno ''Status: FAILED'', pokud se analýza toho kusu nepovedla. | Parametr ''-''''-join'' způsobí, že se STDOUT všech kousků (ve správném pořadí) sebere a vypíše na hlavní STDOUT (''-''''-join'' implikuje ''-''''-sync''). Při spojování se také dělá důkladný test exitstatusů, takže ''qrunblocks'' končí úspěchem jen tehdy, když všechny joby uspěly. |
| |
Urcite je tam jeste spousta nevychytanych much, zejm. s ruznym escapovanim ruznych veci... | |
| |
| Bez ''-''''-sync'' nebo ''-''''-join'' nezbývá, než kontrolovat, jestli logy jednotlivých jobů na konci nemají napsáno: ''Status: FAILED''. |
| |
===== Časté a záludné problémy ===== | ===== Časté a záludné problémy ===== |