Instrukce pro nové studenty zapojené do CBM 1. Informovat vedení CBM kolaborace o nových členech (provede vedoucí) 2. Zřízení důležitých účtů (Linux account a GSI Web Login) na stránce: https://www.gsi.de/en/work/it/service/accounts v případě, že je možné cestovat do GSI, tak ideálně předložit vytištěné formuláře osobně na GSI IT User Helpdesk pokud je toto problém, je možné oskenované podpsané formuláře zaslat P.Gasik@gsi.de, který je může zaslat na speciální adresu acc-ou-service@gsi.de a vše proběhne bez větších problémů 3. Přístup na výpočetní cluster a CBM Gitlab přes vztvoření ticketu v systému (je možné až po přidělení uživatelských jmen do výše uvedených systémů): https://redmine.cbm.gsi.de/projects/infrastructure/issues/new možný vzor: Subject: Request for Virgo and Gitlab Assignee: Florian Uhlig Text: Dear Florian, please add my linux account YOUR-LINUX-ACCOUNT-NAME to Virgo cluster together with new directory under /lustre/cbm/users . Also please add my account YOUR-GSIWEBLOGIN-ACCOUNT-NAME to Gitlab accounts for CBMROOT. 4. Zapojení se do mailing listů je nejsnazší přes databázy CBM: https://www-cbm.gsi.de/cbmcdb/login.cgi přihlášení pomocí GSI webloginu, v záložce "My Groups" -> přesný výběr je vhodné konzultovat s vedoucím rozhodně vybrat CBM-JUNIORS 5. Vytvoření účtu na CBM-WIKI: https://cbm-wiki.gsi.de/foswiki/bin/view/System/UserRegistration po vytvoření účtu předat své "Wiki name" (vhodny tvar JmenoPrijmeni bez diakritiky) nějakému kolegovy, který již Wiki účet má a tím pádem má možnost i přidat další členy do různých skupin (přesné zapojení do skupin je také vhodné konzultovat s vedoucím) velmi užitečná skupina je opět Juniors (https://cbm-wiki.gsi.de/foswiki/bin/view/Juniors/WebHome): odkaz na Mattermost užitečné odkazy k používání infrastruktury GSI/FAIR záznamy přednášek k fyzice CBM experimentu 6. Používat Gitlab: https://git.cbm.gsi.de/ přihlášení pomocí GSI Webloginu přečíst a vyzkoušet si https://git.cbm.gsi.de/notes/computing/gitlab-tutorial hlavní depozitář CBM-ROOT kódu https://git.cbm.gsi.de/computing/cbmroot cheat sheet Git příkazů: https://about.gitlab.com/images/press/git-cheat-sheet.pdf další knowledge: https://docs.gitlab.com/ee/index.html http://git-scm.com/book/en/v2 7. Vstupní kartička + systém GATE https://www.gsi.de/en/work/administration/zentrale_dienste/visitor_access_gsifair ? https://gate.gsi.de/cgi-bin/gate 8. Efektivní práce na infrastruktuře GSI/FAIR hlavní zdroj: https://hpc.gsi.de/virgo/preface.html První kroky: 8.0) změnit si vstupní heslo na linuxový účet -> přihlásit se na USERNAME@lxpool.gsi.de -> spustit příkaz "passwd" -> odhlásit se "exit" 8.1) na svém počítači vygenerovat ssh-key ssh-keygen -q -t ed25519 -f ~/.ssh/id_ed25519 8.2) authorizovat tento klíč pro přístupovou bránu lxpool.gsi.de ssh-copy-id USERNAME@lxpool.gsi.de 8.3) vytvořit si užitečné zkratky vytvořit/editovat soubor ~/.ssh/config vložit s úpravou USERNAME tento text: Host lxpool User USERNAME Hostname lxpool.gsi.de CheckHostIP no ForwardX11 yes Host lxpool-virgo ProxyJump lxpool User USERNAME Hostname virgo.hpc.gsi.de CheckHostIP no Host lxpool-virgo-centos7 ProxyJump lxpool User USERNAME Hostname virgo-centos7.hpc.gsi.de CheckHostIP no Host lxpool-virgo-debian10 ProxyJump lxpool User USERNAME Hostname virgo-debian10.hpc.gsi.de CheckHostIP no Host lxpool-lustre ProxyJump lxpool User USERNAME Hostname lustre.hpc.gsi.de CheckHostIP no 8.4) pro snadný přístup k souborům na vzdálených počítačích vytvoříme v dočasných souborech mount těchto dat užitečné je mít bash-script, který obsahuje něco na způsob: mnt_home=/tmp/u/USERNAME mkdir -p $mnt_home sshfs USERNAME@lxpool: $mnt_home mnt_lustre=/tmp/lustre mkdir -p $mnt_lustre sshfs lxpool-lustre:/lustre $mnt_lustre po skončení práce bychom měli použít "fusermount -u /tmp/u/USERNAME /tmp/lustre" ale při vypnutí počítače toto proběhne stejně 8.5) vysvětlení účelu jednotlivých adresářů: "HOME" je /u/USERNAME omezen kapacitou cca 50GB, zálohován (ale ještě lepší je si vytvářet zálohu na Gitlabu, kde zároveň funguje kontola nad jednotlivými verzemi kódu) => zde psát skripty, které se poté budou posílat na výpočetní farmu "virgo", kde ale VSTUP i VÝSTUP musí být na úložisti /lustre !! (zpravidla tedy /lustre/cbm/users/USERNAME) "LUSTRE" je přístupný jen z počítačů začínajících "lxbk" (Po přihlášení USERNAME@lxpool.gsi.de se dostanete na "lxi" kde máte k dispozici jen HOME. Ale na "lxi" můžete vidět i HOME jiných uživatelů, toto zase automatickneplatí pro "lxbk" pokud člověk neudělá mount ručně.), slouží k ukládání především velkých souborů (není doporučené proto zde instalovat software, ale někdy je toto nevyhnutelné), uživatel má zpravidla téměř neomezenou kapacitu (limit je stanoven pro celou kolaboraci, několik TB určitě není problém) svého adresáře /lustre/cbm/users/USERNAME ale existuje limit na počet souborů (asi 300 000) a proto je třeba promazávat nepotřebné LOGy z běhu skriptů nebo archivovat/zipovat starší výstupy, které nejsou denně potřeba 8.6) CBMROOT software hlavní software, který budeme používat pro analýzu naměřených dat a simulací je neustále vyvíjen v rámci Gitlab projektu: https://git.cbm.gsi.de/computing/cbmroot původní zdroj informací k instalaci: https://lxcbmredmine01.gsi.de/projects/cbmroot/wiki/Installation A) pokud si chcete nainstalovat tento software na svůj osoboné počítač (je to možné ale pravděpodobně ne velmi nutné, v případě dobrého internetového připojení je výhodnější využívat infrastrukturu GSI/FAIR): I.) stáhnout si aktuální verzi Gitlabovského repozitáře git clone https://git.cbm.gsi.de/computing/cbmroot.git II.) přejít do stáhnuté složky cd cbmroot III.) spustit kompletní instalaci v jednom příkazu (trvá značnou dobu!!! instalují se všechny možné balíčky obsaženeé v FAIRSOFTu jako je Geant, ROOT a FAIRROOT - dodatečné knihovny pro FAIR experimenty) ./autoinstall_framework.sh 1 1 1 B) instalace aktuální trunk/master verze CBMROOTu do svého HOME I.) přihlásit se na "lxi" počítače ssh lxpool II.) naklonovat repozitář git clone https://git.cbm.gsi.de/computing/cbmroot.git III.) přejít do nového adresáře cd cbmroot IV.) nakopírovat skript pro usnadnění instalace cp /u/lchlad/CBM/cbmroot/myInstal.sh . V.) spustit skript (zabere cca 10 minut) . myInstal.sh VI.) podívat se jaká je nejnovější složka -> bude poslední na seznamu (dále například "build_debian8") ls -ltrh VII.) spustit konfigurační skript, který správně nastaví cesty ke knihovnám a různým programům . build_debian8/config.sh C) používání oficiální release verze I.) je třeba vědět na jaké linuxové distribuci pracujete resp. bude farma pracovat (v současné době podporovány jsou Debian 10 a CentOS 7) lsb_release -a II.) spustíme skript pro příslušnou distribuci a release verzi kterou chceme používat (zde uveden Debian 10, release APR21) source /cvmfs/cbm.gsi.de/debian10/cbmroot/apr21_fairroot-v18.2.1_fairsoft_jun19p2/bin/CbmRootConfig.sh 8.7) Používání výpočetní farmy GSI/FAIR je důležité si uvědomit, že výpočetný farma běží (zpravidla) v neinteraktivním módu, tedy pošle se úkol s výpočtem obsaženým v kódu se všemi parametry (vstupní soubory, výstupní soubory, případné další paramtery výpočtu) -> například pro často používaný běh programu "root" je nutné použít flag "-b" (většinou je dobré volat program například root -l -b -q 'myMacro.C(8,"parametr","vstup","vystup")' ) dále výpočetní počítače interagují v zásadě pouze s úložištěm LUSTRE (případně oficiální úložistě kódu na /cvmfs/, ale není často updatovano!! jen zatím jednou za rok oficiální release), je tedy nutné při posílání jobů na farmu synchronizovat složku se zdrojovým kódem, typicky někde v HOME, se složkou na LUSTRE -> vhodné například /lustre/cbm/users/USERNAME/sub/ (ALE POZOR vzhledem k omezení na počet souborů na LUSTRE je vhodné synchronizovat jen nezzbytné soubory, typicky ne skrytou složku ".git") každý job také musí vědět, jaké prostředí má spustit, tedy jaký "config.sh" nebo "CbmRootConfig.sh" se má načíst pro tento job příklad, jak takový (bash) script, který načte seznam vstupních souborů a pošle určitý počet jobů je k dispozici zde: /u/lchlad/CBM/helloworld/sendJobArrayScript.sh monitoring běhu jobů je možný pomocí příkazu "squeue -u USERNAME" případně "squeue -j JOBID" po úspěšném dokončení běhu programu a kontrole výstupu nezapomeňte promazat logy !! 8.8) TEST (pro případ, že jste postupovali zcela shodně dle kroků výše, pokud jste něco měnili, například název zkratky pro ssh login, tak to nezapomeňte změnit i v následujícím): přihlašte se ze svého počítače na výpočetní farmu pomocí: ssh lxpool-virgo-debian10 pokud jste jěště nenaistalovali CBM-ROOT tak udělejte následující kroky: git clone https://git.cbm.gsi.de/computing/cbmroot.git cd cbmroot cp /lustre/cbm/users/lchlad/cbmroot/myInstal.sh . změntě ve zkopírovaném souboru "lchlad" na Váš LINUX USERNAME . myInstal.sh konec instalace, další kroky jsou zkušební makro cd ~ cp -r /lustre/cbm/users/lchlad/helloworld . cd helloworld změňte v sendJobArrayScript.sh "lchlad" na Váš LINUX USERNAME . sendJobArrayScript.sh test nyní by Vám měli běžet několik vteřin výpočet, což zkontrolujete squeue -u YOUR-LINUX-USERNAME až výpočty doběhnou podívejte se na výsledek ls /lustre/cbm/users/YOUR-LINUX-USERNAME/helloworld/*.root když budou nějaké soubory zobrazeny tak je můžete zkotrolovat (zatím pouze bez grafiky) pomocí root -l -b /lustre/cbm/users/YOUR-LINUX-USERNAME/helloworld/output/NAZEV-SOUBORU.root .ls hNentries->GetEntries() měli byste dostat: 10 9. Další užitečné adresy a zdroje informací: CBM web resources - Google doc s užitečnými odkazy (některé budou zmíněnz blíže) https://docs.google.com/spreadsheets/d/1Kwj-S-vHNKnvvGD7CJhmY7x6hJPaECKP5OVuHIGV79Q/edit?usp=sharing Indico - přístup pomocí GSI webloginu, informace o všech možných meetinzích včetně prezetancí a případných zápisků https://indico.gsi.de/category/121/ CBM-ROOT dokumenatce (lze vyhledávat i přímo v Gitlabu, není proto tak nutné používat) http://computing.gitpages.cbm.gsi.de/cbmroot/ CBM common production - seznam již produkovaných simulací srážek pro CBM experiment https://docs.google.com/spreadsheets/d/1JjWtDWYRN14zr6xK5jMiTRSeFoSf2lO3APIiogg4qpo/edit?usp=sharing GSI user services - užitečné informace, které je dobré pročíst před cestou do GSI/FAIR https://www.gsi.de/en/work/organisation/wissenschaftliche_gremien/user/user_services