FAQs
WIEN2k - FAQs
Problémy a řešení pro program Wien2k
(FAQs je také dostupné v pdf verzi.)
Za toto FAQs patří velký dík panu Ing. Tomášovi Káňovi, který je jeho tvůrcem.
Problémy
-
Chci počítat programem Wien2k na MetaCentru.
Mám na svém počítači systém MS Windows a nemám nainstalovaný X-server pro X-windows.
-
Chci počítat programem Wien2k na MetaCentru.
Mám na svém počítači systém Linux nebo Unix (mohu zobrazit grafický výstup z MetaCentra).
Řešení
A: Jde to, ale nebudete schopni využít všech možností, které Vám MetaCentrum nabízí. Začněte
tím, že si zařídíte účet na stroji skirit.ics.muni.cz. Ve svém domovském adresáři (například
/home/manik/) si zřiďte adresář TiC a spusťte Wien2k.
Vaše příkazová řádka bude vypadat takto (místo
manik si doplňte své uživatelské jméno):
$ pwd
/home/manik
$ mkdir TiC
$ cd TiC
$ module add wien2k
$ w2web
w2web failed to bind port 7890 - port already in use!
You may want to try w2web -p portnumber
pak Vám nezbude než smazat profil .w2web zkusit to znovu takto:
$ rm -r ~/.w2web
$ w2web -p 7891
Můžete zadat i vyšší číslo portu, jestliže je port 7890 obsazen: w2web -p číslo_portu. Je-li port 7890 obsazený, tak je to nejspíš způsobeno jinými uživateli, kteří po sobě zapomněli proces w2web zabít. Neztěžujte prosím vy sami dalším uživatelům programu WIEN2k práci a vždy, když se po ukončení práce s w2web odhlásíte, zadejte ještě dva příkazy:
$ ps -u manik
PID TTY TIME CMD
19082 pts/0 00:00:00 bash
19141 ? 00:00:00 w2web
19142 pts/0 00:00:00 ps
$ kill 19141
Tím po sobě proces w2web zabijete.
Na svém vlastním počítači si pak spustíte internetový prohlížeč (Internet
Explorer, Mozilla, Firefox, Opera...) a jako adresu zadáte
http://skirit.ics.muni.cz:7890
popřípadě vyšší číslo portu (třeba 7894)
Po zadání svého uživatelského jména a hesla pro w2web už
budete postupovat podle manuálu k programu Wien2k, který si lze stáhnout na adrese
www.wien2k.at/reg_user/textbooks/ a v
případě problémů se podívat do
FAQ nebo
zadat dotaz do
mailing-listu (vše na stránkách
www.wien2k.at).
Q: Chci počítat v programu Wien2k na MetaCentru.
Mám na svém počítači systém Linux (mohu zobrazit grafický výstup z
MetaCentra).
A: Začněte tím, že si zařídíte účet na stroji
skirit.ics.muni.cz. Na tento stroj (nebo na jiný vámi preferovaný) se pak můžete
přihlásit pomocí
$ ssh -X mojeUzivatelskeJmeno@skirit.ics.muni.cz
Přepínač -X u ssh (secure shellu) automaticky zajistí, že budete moci zobrazovat
grafiku bez jakýchkoliv dalších nastavení.
Ve svém domovském adresáři (například
/home/manik/) si zřiďte adresář TiC a spusťte Wien2k.
Vaše příkazová řádka bude vypadat takto (místo
manik si doplňte své uživatelské jméno):
$ pwd
/home/manik
$ mkdir TiC
$ cd TiC
$ module add wien2k
$ w2web
w2web failed to bind port 7890 - port already in use!
You may want to try w2web -p portnumber
pak Vám nezbude než smazat profil .w2web zkusit to znovu takto:
$ rm -r ~/.w2web
$ w2web -p 7891
Můžete zadat i vyšší číslo portu, jestliže je port 7890 obsazen: w2web -p číslo_portu. Je-li port 7890 obsazený, tak je to nejspíš způsobeno jinými uživateli, kteří po sobě zapomněli proces w2web zabít. Neztěžujte prosím vy sami dalším uživatelům programu WIEN2k práci a vždy, když se po ukončení práce s w2web odhlásíte, zadejte ještě dva příkazy:
$ ps -u manik
PID TTY TIME CMD
19082 pts/0 00:00:00 bash
19141 ? 00:00:00 w2web
19142 pts/0 00:00:00 ps
$ kill 19141
Tím po sobě proces w2web zabijete.
Dále spustíte na stroji skirit (nebo jiném vámi preferovaném stroji) prohlížeč
Mozilla. Napište
$ module add mozilla
$ mozilla &
Spustí se prohlížeč Mozilla. Do pole adresy prohlížeče zadáte
http://skirit.ics.muni.cz:7890
popřípadě vyšší číslo portu (třeba 7894).
Po zadání svého uživatelského jména a hesla pro w2web už budete postupovat
podle manuálu k programu Wien2k, který si lze stáhnout na adrese
www.wien2k.at/reg_user/textbooks/ a v
případě problémů se podívat do
FAQ nebo
zadat dotaz do
mailing-listu (vše na stránkách
www.wien2k.at).
Máte ještě možnost využít skvělé možnosti programu
XCrysDen pro vizualizaci vašich struktur a výsledků výpočtů. Zadejte
$ cd TiC
$ module add xcrysden
$ xcrysden &
a vyberte ze záložky File / Open WIEN2k / Open WIEN2k Struct File / TiC.struct. Pokud
Vám běží
w2web, můžete si strukturu v programu XCrysDen prohlédnout i kliknutím na
view structure v záložce
Utils.
Podobný obrázek pro TiC.struct můžete získat, když po načtení struktury
stisknete c (crystal cell) a s (atomic Symbols).
Ve vyznačeném červeném kolečku jsou dva módy: Preset a Logic. Zvolte
Logic a vypněte STICK. Nakonec můžete změnit barvu pokladu z černé na jinou kliknutím
na rámeček úplně vlevo nahoře.
Q: Při inicializaci špatně funguje procedura sgroup
A: Problém je zřejmě v tom, že používáte starou verzi Wien2k-05.
Přejděte na vyšší (podporovanou) verzi Wien2k-08 napsáním do příkazového řádku:
$ module rm wien2k
$ module rm wien2k-05
$ module add wien2k-08
Ve verzi 08 je již tento problém odstraněn.
A: Před spuštěním
run_lapw nebo
runsp_lapw zadejte do příkazového řádku (nebo dopište do skriptu)
$ ulimit -s unlimited
To pokud používáte
bash shell. Pokud používáte shell
csh nebo
tcsh, použijte místo toho příkaz
limit stacksize unlimited
Pokud nevíte, jaký shell používáte, zjistíte to příkazem
echo $SHELL
Q: Výpočet skončil chybovým hlášením L2main - QTL-B Error
A: V tomto případě nejde o chybu MetaCentra. Musíte upravit svůj inicializační soubor
case.in1 (popřípadě case.in1c). Podívejte se na
www.wien2k.at. V poslední záložce shora
REG USERS najdete odkaz na
Frequently Asked Questions (FAQ) . Pro tento případ
můžete rovnou kliknout na otázku
LAPW-2 stops with QTL-B error or crashes with
"invalid character"
Q: Používáte skutečně podporovanou verzi programu Wien2k-08? Pozor na kompatibilitu ...
Je třeba dbát na kompatibilitu výpočtů, která není zajištěna pro starší verzi
Wien2k-05 na strojích s procesory AMD.
Chcete-li si být jisti, kterou verzi Wien2k používáte, můžete to zjistit příkazem
$ which run_lapw
správná odpověď je
/software/wien2k-08/i386_linux26.p4/run_lapw
nebo
/software/wien2k-08/amd64_linux26/run_lapw
Pokud se místo toho vypíše
/software/wien2k-05/root/run_lapw
pak používáte verzi 05. Tato verze již není podporována.
Přejděte prosím na verzi 08 napsáním
$ module rm wien2k
$ module add wien2k-08
Pokud používáte svoji vlastní binární verzi programu Wien2k, zadejte příkaz
$ module add wien2k
Můžete se pro jistotu i přesvědčit, zda se použije správná verze programu:
$ which run_lapw
/software/wien2k-08/i386_linux26.p4/run_lapw
alias run_lapw='/home/manik/wien2k/run_lapw
a podobně.
A: Téměř určitě už někdo před Vámi řešil stejný nebo aspoň podobný problém.
Pokud odpověď nenajdete na
FAQ , zkuste Váš problém vyhledat na
Mailing listu . Pokud jde o problém MetaCentra,
obracejte se e-mailem na
meta|zavinac|cesnet|tecka|cz.
Q: Chci jen rychle zkusit nějaký výpočet a nechce se mi čekat na frontu
A: Pro tento účel je připravena vás obsloužit interaktivní fronta.
Její použití je snadné. Například pro interativní výpočty na uzlech
clusteru skirit stačí zadat:
$ qsub -q normal -l nodes=1:ppn=1:brno:xeon,mem=499mb -I
qsub: waiting for job 135447.skirit-f.ics.muni.cz to start
chvíli počkejte
qsub: job 135447.skirit-f.ics.muni.cz ready
a jste například na nodu skirit28.
$ hostname
skirit28.ics.muni.cz
$ pwd
/home/manik
$ cd TiC
$ module add wien2k
$ ulimit -s unlimited
$ run_lapw -cc 0.000001 -i 45 -in1new 3
počkejte než doběhne výpočet a pak skončete úlohu příkazem
$ exit
qsub: job 135452.skirit-f.ics.muni.cz completed
$ clean_lapw
Q: Jak spouštět výpočty pomocí fronty
A:
Manuál MetaCentra o
Spouštění aplikací i
detailní
dokumentace PBS Pro
ukazují vzorové příklady spouštěcích skriptů, které se zadávají do fronty, ale počítá jen s tím, že
potřebujete jen jeden nebo několik vstupních souborů pro Váš výpočet. Jenže vy potřebujete celý
adresář. Nabízím Vám proto hotové řešení, jak napsat a spustit skript pro Váš výpočet.
Je to soubor job.
#!/bin/bash
#PBS -N moje_uloha
hostname
source /packages/run/modules-2.0/init/bash
module add wien2k
ulimit -s unlimited
mv /home/manik/TiC /scratch/manik/
cd /scratch/manik/TiC
rm *.broyd*
rm *.error*
run_lapw -cc 0.000001 -i 98 -in1new 3
echo y | clean_lapw
mv /scratch/manik/TiC /home/manik/
#To je vsechno, konec skriptu job.
Skript si zasluhuje okomentovat. Spouští se příkazem
qsub -q long -l nodes=1:ppn=1:brno,cput=700:00:00 -V job
když úlohu spouštíte na brněnském clusteru skirit.ics.muni.cz, a to ve frontě long (další
podrobnosti v
detailní
dokumentaci PBS Pro).
Jestliže máte Váš adresář s inicializovaným výpočtem v domovském adresáři na stroji
skurut.cesnet.cz, tak místo
:brno zadejte
:praha. Jestliže máte adresář s inicializovaným výpočtem na stroji nympha.zcu.cz
(zkopírujte si jej i na minos.zcu.cz pro případ, že použijete úlohu normal nebo short), zadáte
místo
:brno
:plzen.
Místo
moje_uloha v druhém řádku si zadejte vlastní název úlohy.
Asi už jste si všimli, že na clusteru skirit.ics.muni.cz a dalších není adresář
/scratch/manik, který by odpovídal /home/manik. Tyto adresáře jsou však na jednotlivých nodech
(skirit1, skirit2...). Když systém PBS Pro úlohu přijme, bude ji počítat právě na jednom z těchto
nodů. Na kterém, to se můžete přesvědčit buď napsáním
qstat -u manik -n anebo přímo na webu METACentra, když kliknete na záložky
Stav zdrojů
a zvolíte záložku Úlohy.
Kliknutím na Vaše jméno budete vědět o všech Vašich úlohách i na kterém nodu se počítají.
Skript job napřed přesune adresář /home/manik/TiC (který je sdílený) do adresáře /scratch/manik/ na nodu, kde se úloha počítá. Pak se tam přesune (cd /scratch/manik/TiC) a počítá (run_lapw -cc 0.000001 -i 98 -in1new 3). Výpočet produkuje velmi velké soubory TiC.vector (popřípadě TiC.vectorup a TiC.vectordn při spin-polarizovaném výpočtu). Proto je po výpočtu zadáno echo y | clean_lapw. Procedura clean_lapw už tyto soubory smaže. Nakonec se adresář s výpočtem přesune zpátky do domovského adresáře.
Všimněte si ještě řádku před
source /packages/run/modules-2.0/init/bash
Tento příkaz vysvětluje nodu, na kterém Vaše úloha poběží, co vlastně znamená příkaz
module add.
#!/bin/bash
napište
#!/bin/csh
a místo řádků
source /packages/run/modules-2.0/init/bash
ulimit -s unlimited
napište
source /packages/run/modules-2.0/init/csh
limit stacksize unlimited
Takto si můžete spouštět svoje úlohy. Po jejich doběhnutí třeba můžete procedurou x kgen zvýšit počet k-bodů a znovu úlohu spustit. Nesmíte už však zadávat znovu x dstart, tím byste vrátili výpočet zpět na začátek.
Pokud chcete sledovat váš výpočet při běhu, můžete se přihlásit na konkrétní
node, na kterém výpočet běží (zde je to například node skirit28). Buď
$ module add ssh
$ ssh skirit28
nebo
$ telnet skirit28
a pak
$ cd /scratch/manik/TiC
$ ls
$ cat TiC.dayfile
$ exit
Q: Výsledky mých výpočtů zabírají příliš mnoho paměti
A: Pokud budete spouštět náročné výpočty s více atomy,
můžete tím zabírat velkou část paměti v adresáři /home/vaseUzivatelskeJmeno.
Nezapomeňte, že i po promazání procedurou
clean_lapw mohou být vaše adresáře se soubory stále hodně velké.
Uložte si je raději do úložiště MetaCentra /storage/home/vaseUzivatelskeJmeno/
jednoduchým příkazem
$ pwd
/home/manik/TiC
$ cd ..
$ mv TiC /storage/home/vaseUzivateskeJmeno/
Zjistit, kolik paměti Vaše výpočty v domovském adresáři zabírají lze příkazem
$ du -hs /home/vaseUzivatelskeJmeno
nebo
$ du -hs ~
Bude-li to více než 3.0G, je to příliš mnoho a systémoví administrátoři po Vás mohou chtít,
abyste paměť uvolnili.

