[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
grid [2017/09/27 20:45]
popel [Rules]
grid [2017/09/27 21:13]
popel
Line 135: Line 135:
  
 ===== Advanced usage ===== ===== Advanced usage =====
 +
 +''qsub **-q** troja-all.q''
 +This way your job is submitted to the Troja queue. The default is ''ms-all.q''. You can also use e.g.
 +''-q "(troja*|ms*)"'' to submit on any machine in those two queues (but **don't use ''-q "*"''** as this includes also [[:gpu|gpu.q]]),
 +''-q "*@hector[14]"'' to submit on hecor1 or hector4,
 +''-q "[tm]*@!(hector*|iridium)"'' to submit on any troja/ms machine except hectors and iridium.
 +However, usually you should specify just the queue (troja-all.q vs. ms-all.q), not a particular machine, and instead use ''-l'' to specify the needed resources in a general way.
 +
 +''qsub **-l** ...''
 +See ''man complex'' (run it on lrc or sol machines) for a list of possible resources you may require (in addition to ''mem_free'' etc. discussed above).
  
 ''qsub **-p** -100'' ''qsub **-p** -100''
Line 174: Line 184:
 ''qsub **-soft** -l ... **-hard** -l ... -q ...'' ''qsub **-soft** -l ... **-hard** -l ... -q ...''
 By default, all the resource requirements (specified with ''-l'') and queue requirements (specified with ''-q'') are //hard//, i.e. your job won't be scheduled unless they can be fulfilled. You can use ''-soft'' to mark all following requirements as nice-to-have. And with ''-hard'' you can switch back to hard requirements. By default, all the resource requirements (specified with ''-l'') and queue requirements (specified with ''-q'') are //hard//, i.e. your job won't be scheduled unless they can be fulfilled. You can use ''-soft'' to mark all following requirements as nice-to-have. And with ''-hard'' you can switch back to hard requirements.
 +
 +''qsub **-sync** y''
 +This causes qsub to wait for the job to complete before exiting (with the same exit code as the job). Useful in scripts.
  
 ''**qalter**'' ''**qalter**''
Line 202: Line 215:
 === Array jobs === === Array jobs ===
  
-If you have a set of tasks (of the same type) and want to run them on multiple machines,...+If you have a set of tasks (of the same type) and want to run them on multiple machines, use ''qsub -t''...
 TODO TODO
 +
 ===== Monitorování úloh ===== ===== Monitorování úloh =====
  
Line 243: Line 257:
  
 Pokud chcete submittovaný program pouštět ve svém oblíbeném prostředí (např. nastavení ''PATH''), musíte v obalujícím skriptu příslušné ''.bash*'' načíst. Vždy je ale bezpečnější všude psát plné cesty, než spoléhat na PATH. Pokud chcete submittovaný program pouštět ve svém oblíbeném prostředí (např. nastavení ''PATH''), musíte v obalujícím skriptu příslušné ''.bash*'' načíst. Vždy je ale bezpečnější všude psát plné cesty, než spoléhat na PATH.
- 
-==== Jiný shell ==== 
- 
-Abych mohl poslat nějakou úlohu do fronty, musím pro ni vyrobit vlastní skript. Budiž, vyrobil jsem vlastní skript: 
- 
-<code> 
-#!/bin/bash 
-program > log.out 2> log.err 
-</code> 
- 
-Když tento skript spustím, stane se očekávané. Přesměrují se výstupy z daného programu do souborů a je to. 
- 
-Když takový skript submitnu, program se **nespustí**. V logu zjistím, že (standardní chybový) výstup shellu, který pouštěl můj skript praví kryptickou zprávu "Ambiguous redirect". 
- 
-Nebudu vás napínat, zde je vysvětlení: SGE ignoruje první řádek skriptu (ve skutečnosti je pravda horší, hledá v něm nějaké parametry pro sebe) a spouští skript v ''csh''. Rozdíl mezi bashem a csh se v primitivních skriptech na první pohled nepozná, pozná se až v konstrukci if-then-else, a také v přesměrovávání. csh nerozumí přesměrování ''2>'' 
- 
-Takto SGE přinutíte, aby použilo bash: 
- 
-<code> 
-  qsub -S /bin/bash skript 
-</code> 
- 
-Jinou možností je přesměrovat stderr a stdout pomocí syntaxe csh: 
- 
-<code> 
-( command >stdout_file ) >&stderr_file 
-</code> 
- 
  
 ==== bashrc a podobné nesmí nic vypisovat na konzoli ==== ==== bashrc a podobné nesmí nic vypisovat na konzoli ====
Line 297: Line 283:
 hard resource_list:         mem_free=16g hard resource_list:         mem_free=16g
 hard resource_list:         mem_free=31g</code> hard resource_list:         mem_free=31g</code>
- 
-==== Jak rezervovat více jader na stejném stroji pro 1 job ==== 
- 
-<code> 
-qsub -pe smp <pocet jader> 
-</code> 
  

[ Back to the navigation ] [ Back to the content ]