C2115 Praktický úvod do superpočítání -1- C2115 Praktický úvod do superpočítání Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno XI. lekce C2115 Praktický úvod do superpočítání -2- Obsah  Torque opakování  Torque (zdroje) aneb jak ovlivnit, kde se bude úloha počítat ...  Torque (kopírování souborů) stagein, stageout, explicitní kopírování dat  Torque (MetaCentrum) MetaCentrum, CERIT-SC, dokumentace  Spouštění programu gaussian v MetaCentru příprava dat, příprava úlohy, zařazení úlohy, monitoring úlohy, analýza dat C2115 Praktický úvod do superpočítání -3- Torque http://www.adaptivecomputing.com/products/open-source/torque/ C2115 Praktický úvod do superpočítání -4- Architektura ...... ...... ...... fronty(queues) short normal long torque-server (pbs_server) stav uzlů (nodes) pbsnodes -a qstat -q qstat qstat -u torque-scheduler (pbs_sched) řazení úloh na výpočetní uzly dle požadovaných zdrojů torque-mom (pbs_mom) torque-mom (pbs_mom) node#1 np=2 node#2 np=1 qsub qsub qsub připravená úloha čekající úloha běžící úloha C2115 Praktický úvod do superpočítání -5Torque – příkazy, stavy úlohy qsub zašle úlohu do dávkového systému qstat vypíše informace o dávkovém systému (seznam úloh, seznam front) pbsnodes vypíše informace o výpočetních uzlech qrls uvolní úlohu ze stavu holded (pokud to okolnosti dovolují) Stavy úlohy: Q (queued) čeká ve frontě na spuštění na výpočetním uzlu R (running) běží na výpočetním uzly C (completed) úloha byla dokončena (informace o dokončených úloh se zobrazují jen omezenou dobu – nejčastěji 24 hodin) H (holded) úloha byla pozastavena, úlohu je možné uvolnit příkazem qrls E (error) došlo k chybě C2115 Praktický úvod do superpočítání -6- Torque (zdroje) zdroje se zadávají pomocí volby -l příkazu qsub, lze zadat více specifikací současně např: $ qsub -q default -l nodes=1:ppn=1:brno –l mem=400mb skript.sh nebo $ qsub -q default -l nodes=1:ppn=1:brno,mem=400mb skript.sh čárka C2115 Praktický úvod do superpočítání -7Počet a typ výpočetních uzlů a CPU nodes=N1:ppn=M1:properties1[+N2:ppn=M2:properties2+...] počet výpočetních uzlů počet CPU na každý výpočetní uzel vlastnosti uzlu v běžné práci se nepoužívá Celkový počet požadovaných CPU: N(CPU)=N1*M1[+N2*M2+] Slouží pouze k rezervaci výpočetních zdrojů ve formě CPU. To však neznamená, že úloha na přidělených výpočetních zdrojích bude automaticky spuštěna. Toto musí zajistit skript úlohy. C2115 Praktický úvod do superpočítání -8Počet a typ výpočetních uzlů a CPU, II Seznam alokovaných CPU je dostupný jako seznam výpočetních uzlů uvedených v souboru, jehož název je uveden v systémové proměnné PBS_NODEFILE. Tato proměnná je dostupná v běžící úloze: Příklad: $ qsub -q default -l nodes=1:ppn=2:brno+1:ppn=1:brno skript.sh Výsledek: /var/spool/torque/aux//10312644.arien.ics.muni.cz zubat2.ncbr.muni.cz zubat2.ncbr.muni.cz mandos2.ics.muni.cz Seznam CPU slotů je pak dostupný v úplném popisu úlohy, položka exec_host: $ qstat -f #!/bin/bash echo $PBS_NODEFILE cat $PBS_NODEFILE C2115 Praktický úvod do superpočítání -9Počet a typ výpočetních uzlů a CPU, III Vlastnosti: Výpočetní uzly mohou mít specifikované vlastnosti. Jedná se o krátké řetězce, jejichž význam je závislý na administrátorech systému. Vlastnosti uzlů jsou vypisovány příkazem pbsnodes položka properties. Uživatel může ve specifikaci výpočetních zdrojů požadovat pouze takové výpočetní uzly, které mají specifikované vlastnosti. Příklady: nodes=1:ppn=1:brno nodes=1:ppn=1:brno#debian70 nodes=1:ppn=1:^cl_doom nodes=1:ppn=1:^onyx1-1.ncbr.muni.cz logické ANO exclusion (pouze MetaCentrum) C2115 Praktický úvod do superpočítání -10Další specifikace zdrojů Zdroj Omezení Popis mem velikost paměti, jednotky mb, gb scratch velikost lokálního datového úložiště, jednotky mb, gb scratch_type pouze Meta typ lokálního datového úložiště walltime maximální doba běhu úlohy nejčastěji ve spojení s frontou default umask umask pro soubory a adresáře vytvářené na lokálním datovém úložišti group skupina pro soubory a adresáře vytvářené na lokálním datovém úložišti V MetaCentru mohou být úlohy s nedostatečně specifikovanými požadavky na zdroje předčasně ukončeny. C2115 Praktický úvod do superpočítání -11- Torque (kopírování souborů) C2115 Praktický úvod do superpočítání -12Kopírování souborů Torque má vnitřní podporu pro kopírování souborů pomocí stagein a stageout direktiv. Tento způsob je však prakticky nepoužitelný a uživatel by měl veškeré operace související s kopírováním dat na lokální datové úložiště zajistit v rámci úlohy (příkazy cp, scp, rsync). Tento způsob je popsán v dokumentaci MetaCentrum VO. User Interface (UI) (Frontend) /job/input/dir Computational Node #1 Worker Node (WN) /scratch/job_id/ scp, cp, rsync scp, cp, rsync C2115 Praktický úvod do superpočítání -13- Torque (MetaCentrum) C2115 Praktický úvod do superpočítání -14Dávkové systémy MetaCentrum VO se skládá ze dvou oddělených dávkových systémů:  arien.ics.muni.cz obsluhuje výpočetní uzly z MetaCentra, výchozí na všech čelních uzlech, kromě zuphux.cert-sc.cz  wagap.cerit-sc.cz obsluhuje výpočetní uzly z CERIT-SC, výchozí na čelním uzlu zuphux.cert-sc.cz Oba systémy jsou uživatelsky kompatibilní (stejné volby), rozdíly je možné najít v dokumentaci MetaCentrum VO. Výchozí Torque server lze změnit nastavením proměnné PBS_SERVER, např. [kulhanek@zuphux ~]$ qstat [kulhanek@zuphux ~]$ export PBS_SERVER=arien.ics.muni.cz [kulhanek@zuphux ~]$ qstat vypíše úlohy z MetaCentra vypíše úlohy z CERIT-SC C2115 Praktický úvod do superpočítání -15Spouštění programu gaussian v MetaCentru C2115 Praktický úvod do superpočítání -16Cvičení 3 Cílem cvičení je vytvořit model molekuly C60 a vypočítat její molekulární vibrace semiempirickou kvantově-chemickou metodou PM6 v programu gaussian verze 09. Výsledek následujícího cvičení uvádějte do protokolu souhrnně, uvádějte pouze důležité informace. 1. V programu Nemesis namodelujte molekulu fullerenu C60. Použijte projekt "Build structure", dále Structure → Insert → SMILES ... SMILE zápis molekuly použijte z anglické wikipedie pro C60. Po vložení struktury posuňte jeden atom z roviny (Mouse → Atom manipulation). Poté zoptimalizujte geometrii pomocí výchozího silového pole (typ pole lze zjistit v Geometry → Optimizer setup). 2. Vytvořte vstupní soubor pro program gaussian (File → Export Structure as ... → Gaussian Input). Zvolte metodu PM6 a optimalizaci geometrie. Poté do vstupního souboru dopište klíčové slovo FREQ (za klíčové slovo Opt) a soubor uložte s příponou .com. 3. Vytvořený vstupní soubor přeneste na čelní uzel MetaCentra, připravte skript úlohy a úlohu zařaďte do dávkového systému. Postupujte podle dokumentace MetaCentra, úloha musí na výpočetním uzlu používat lokální datové úložiště. 4. Výsledek úlohy (soubor se zakončením .log) přeneste na vaši pracovní stanici a vypočítané molekulární vibrace zobrazte v programu Nemesis, podle návodu uvedenému dále. C2115 Praktický úvod do superpočítání -17- Nemesis Spuštění programu: $ module add nemesis $ nemesis Myš: Levé tlačítko selekce Prostřední tlačítko rotace Levé tlačítko posun Kolečko zoom Modifikátory: Shift XZ -> Y pohyby Ctrl přepíná mezi sekundárním a primárním manipulátorem C2115 Praktický úvod do superpočítání -18Build Project vrstvy grafické modely stavba/editace molekuly měření geometrie Nastavení silového pole pro optimalizaci: menu Geometry-> Optimizer Setup optimalizace geometrie pomocí silového pole C2115 Praktický úvod do superpočítání -19Trajectory: Vizualizace vibrací 1) Projekt: Trajectory 2) File->Import Trajectory as -> Gaussian Vibrations dvojklik dvojklik zvolíme vibraci spustíme animaci