Jak počítat/Dávkové úlohy

Z MetaCentrum
Přejít na: navigace, hledání

(English version)

Příbuzná témata
Prohlížení výstupu úlohy
Plánovací systém

Dávkové úlohy jsou ne-interaktivní typ úloh. Pro jejich běh si musíte připravit spouštěcí skript (=dávkový skript), následně odeslat úlohu a čekat na její skončení. Poté si můžete prohlédnout její výsledky.

Příprava spouštěcího skriptu

Příbuzná témata
Žádání zdrojů
Pracování s daty v úloze

Spouštěcí skript je posloupnost příkazů v určeném pořadí, které jsou vykonávány vámi vyžádanými zdroji. Zdroje lze specifikovat vně (pomocí qsub možností) nebo uvnitř vašeho skriptu. Oba způsoby jsou možné, využití záleží pouze na vašich osobních preferencích.

Specifikace požadovaných zdrojů

Specifikace požadavků uvnitř skriptu je možná pomocí řádkového prefixu #PBS + možnosti.

Vytvořte si textový soubor v nějakém editoru (vim, pico, nano...) s těmito řádky:

#!/bin/bash
#PBS -N myFirstJob
#PBS -l select=1:ncpus=4:mem=4gb:scratch_local=10gb
#PBS -l walltime=1:00:00

#Vyse uvedene radky jsou urcene pro planovaci system: uloha pobezi maximalne hodinu, bude pozadovat jeden stroj se 4 procesory, 4 GiB RAM pameti a 10gb scratch adresare  
trap 'clean_scratch' TERM EXIT # nastaveni uklidu SCRATCHE v pripade chyby

cd $SCRATCHDIR || exit 1 # vstoupi do scratch adresare

module add g03 # nahraje modul aplikace
cp /software/testData/gaussian_test.com $SCRATCHDIR # ziska vstupni data
g03 <gaussian_test.com >results.out # spusti aplikaci Gaussin a ulozi vysledky do souboru results.out

cp results.out /storage/CITY/home/$USER || export CLEAN_SCRATCH=false # presune vysledky do domovskeho adresare nebo je ponecha ve scratchi v pripade chyby

Zdroje také můžete specifikovat mimo skript tak, že PBS možnosti přesunete do odesílacího příkazu qsub. Příklad viz níže.

Odeslání úlohy

Úlohu můžete odeslat pomocí příkazu qsub. Například:

qsub myJob.sh

V případě, že chcete specifikovat požadované zdroje mimo dávkový skript, přesuňte PBS možnosti do odesílacího příkazu:

qsub -l select=1:ncpus=4:mem=4gb:scratch_local=10gb -l walltime=1:00:00 myJob.sh

Qsub vrací jobID (10583298 v tomto případě), které můžete použít pro sledování stavu úlohy.

Pokud jste specifikovali požadované zdroje uvnitř vašeho skriptu, pak stačí jen příkaz qsub a název vašeho skriptu:

qsub myJob.sh

Prohlížení výsledků úlohy

Informace o tomto tématu naleznete zde.