Gaussian 03 Murskalla
Kesän aikana CSC:n laskentapalvelimilla on tapahtunut muutoksia. Suurille rinnakkaistöille varattu IBMSC-palvelin on ajettu alas ja poistettu tuotantokäytöstä heinäkuun alussa. Pian tämän jälkeen CSC:n uusi superklusteri Murska avattiin tuotantokäyttöön. Näiden muutosten mukana on tullut uudistuksia myös Gaussian-ohjelmiston käyttöön CSC:n superkoneympäristössä. Tässä artikkelissa käydään läpi peruskomennot Gaussian-ohjelmiston käyttöön eri laskentapalvelimilla sekä esitellään muutamien testilaskujen avulla töiden rinnakkaistumista.
Murskalla kaikki Gaussianin tarvitsemat työtiedostot tulee kopioida $WRKDIR-hakemistoon ja myös Gaussian-ajot tulee suorittaa $WRKDIR-hakemistossa.
Gaussian 03:n käyttäminen Murskalla on pyritty pitämään käyttäjän näkökulmasta mahdollisimman helppona. Gaussian-työn lähettäminen Murskan eräajojonoon tapahtuu komennolla
subg03 aika työtiedosto
Murskalla aika annetaan muodossa hh:mm (tunnit:minuutit) ja työtiedosto ilman päätettä (jonka tulee olla .com).
Rinnakkaistöille varattavien prosessorien lukumäärä määritetään työtiedoston alussa antamalla arvo optiolle %NProcShared. Esimerkiksi Gaussian-työ koeajo.com lähetetään eräajojonoon komennolla
subg03 10:00 koeajo
Työlle varataan kymmenen tuntia laskenta-aikaa ja työ rinnakkaistetaan neljälle ytimelle. Rinnakkaistöitä varten työtiedoston alussa oleva rivi on tällöin
%NProcShared=4
Murskan laitteistoarkkitehtuuri sekä CSC:llä käytössä oleva Gaussian 03:n ohjelmistoversio rajoittavat rinnakkaistöissä käytettävien ytimien lukumäärän neljään, toisin sanoen Gaussiania on mahdollista ajaa rinnakkaisesti vain yhden laskentasolmun sisällä. Maksimiarvo prosessoreille on siten 4.
Samalla tavoin sarjatyö Murskalla lähetetään jonoon komennolla
subg03 10:00 koeajo
Muistin varaaminen Gaussian-työlle
Murskan laskentasolmuissa on neljä ydintä, joilla kullakin voi solmusta riippuen olla 1 GB, 2 GB tai 4 GB muistia. Tällöin työlle voidaan varata maksimissaan muistia 4 kertaa 4 GB eli 16 GB. Muistin varaaminen tapahtuu antamalla työtiedoston optiolle %Mem haluttu muistimäärä. Subg03-komentoa käytettäessä alustusskripti käy tarkastamassa %Mem-option arvon ja lähettää työn oikeaan solmuun.
Ajoaika eräajojonossa
Maksimiajoaika rinnakkaistöille on tällä hetkellä parallel-jonossa 48 tuntia ja sarjatöille serial-jonossa on 7 vuorokautta. Pitkille töille tarkoitetussa longrun-jonossa maksimiajoaika on 21 vuorokautta. Voimassa olevat jonojen määritelmät näytetään koneeseen kirjauduttaessa. Työ ohjautuu automaattisesti longrun-jonoon pyydetyn ajoajan ylittäessä 48 tuntia.
Longrun-jono on tarkoitettu erikoiskäyttöön. Huolto- tai ylläpitotoimenpiteiden vuoksi on todennäköistä että laskenta täytyy keskeyttää alle 21 vuorokauden varoitusajalla, jolloin laskuja saattaa jäädä kesken.
Suorituskykytestejä Murskalla
Muutaman testilaskun avulla havainnollistetaan Gaussian-töiden ajoaikoja Murskalla ja Coronalla. Huomattavaa on laskujen suoritusnopeus Murskalla verrattuna Coronalla tehtyihin.
Yleisesti SCF- ja DFT-menetelmillä tehdyt yksipistelaskut ovat melko hyvin rinnakkaistuvia. On kuitenkin huomattavaa, että käytettävän kantafunktiojoukon koko vaikuttaa myös laskun rinnakkaistumiseen. Esimerkiksi saman systeemin geometrian optimointitehtävän rinnakkaistuminen voi muuttua merkittävästi eri kantafunktioita käytettäessä.
Yleisesti harmonisten värähdysten laskeminen Gaussianilla on huonommin rinnakkaistuvaa, ja erityisesti post-HF-menetelmillä käyttäen suuria kantafunktioita. Yleisesti post-HF-menetelmiä pidetään heikommin rinnakkaistuvina. Testaamamme harmonisten värähdysten laskeminen MP2/6-311++G**-tasolla ei käytännössä rinnakkaistunut ollenkaan.
Testilaskut eivät anna yksiselitteistä kuvaa siitä, millaisia tehtäviä kannattaa ajaa rinnakkaistaen. Tulosten tarkoitus on kiinnittää huomiota erilaisten laskujen rinnakkaistamiseen liittyviin pulmiin. Ei ole mitenkään harvinaista, että laskenta-aika saattaa jopa kasvaa prosessorien määrän lisääntyessä. Gaussianin tulostiedostosta (.log) löytyy tietoa siitä, kuinka monta prosessoria Gaussian-ohjelmisto käyttää tietyissä tehtävissä.
Testilaskut ovat sekä CSC:n asiakasprojekteissa laskettuja laskuja että Gaussian-ohjelmiston mukana tulleita testilaskuja. Laskut on suoritettu normaaleissa eräajojonoissa laskentapalvelimien ollessa normaalisti tuotantokäytössä.

Kuva 1: test397-laskun laskenta-aikoja Murskalla ja Coronalla. (#p rb3lyp/3-21g force test scf=novaracc)

Kuva 2: test586-laskun laskenta-aikoja Murskalla ja Coronalla. (#p b3lyp/lp-31G* 6d opt test)

Kuva 3: test333-laskun laskenta-aikoja Murskalla ja Coronalla. (#p rb3lyp/STO-3G test freq)
Gaussianin käyttö CSC:n laskentapalvelimilla
Murska Corona Sepeli
Komento subg03 aika työtiedosto (prosessorit)
Sarjatyöt x x x
Rinnakkaistyöt x x
Prosessorit (max.) 4 32 1
Muisti (max.) 16 GB 64 GB 8 GB
Ajoaika (max.) 21 vrk 168 h 240 h
Gaussian03-versio Rev. D.02 Rev. C.02 Rev. C.02
Rev. D.02
Murskalla prosessorien määrää ei anneta subg03-komennon yhteydessä.
Murskalla aika annetaan muodossa hh:mm ja vastaavasti Coronalla ja Sepelillä muodossa hh:mm:ss.
Subg03-komento käynnistää Murskalla Gaussian03-version Revision D.02. Vastaavasti Coronalla ja Sepelillä käynnistyy Revision C.02. Coronalla version Revision D.02 saa käyntiin komennolla subg03d.
Eräajoskriptista
Jos käyttäjä haluaa luoda itse oman eräajoskriptin Gaussian-työtä varten, on huomattavaa, ettei OMP_NUM_THREDS arvoa anneta skriptissä. Gaussianin %NProcShared-optio asettaa arvon oikeaksi.
Lisätietoja
Lisätietoa Gaussianin käytöstä CSC:llä antaa Jussi Ahokas
CSC:n Gaussian-sivut: http://www.csc.fi/english/research/software/gaussian
Gaussian 03 online manual: http://www.gaussian.com/g_ur/g03mantop.htm
Käyttäjätunnuksen hakeminen Murskaan: http://www.csc.fi/csc/ajankohtaista/asiakastiedotteet/murska_tunnus
Gaussian-käyttäjien täytyy kuulua gaussian-ryhmään. Lisäykset ryhmään tekee Usermgr@csc.fi