Tieteellistä laskentaa iltapäiviin

Fysiikan kieli on matematiikka, ja tämän kielen muuttaminen teoreettisesti lasketuiksi tai kokeellisesti mitatuiksi luvuiksi vaatii usein erilaisten laskennallisten menetelmien soveltamista. Näiden menetelmien hallintaa ei kuitenkaan systemaattisesti opeteta kovinkaan laajasti luentokursseilla, vaikka nuorilla tutkijoilla on paljon tarvetta juuri tällaisille taidoille sekä akateemisessa maailmassa että muuallakin.
Jyväskylän yliopistossa majaansa pitävä Kvarkkiaineen tutkimuksen huippuyksikkö pitää vuosittain kaksipäiväisen retriitin, jossa tarkoituksena on tutustua paremmin muihin QCD-teoriaryhmän ja ALICE-ryhmän jäseniin ja heidän tekemäänsä tutkimukseen. Tämä on oikein hyväksi havaittu formaatti, jota myös Helsingin CMS-ryhmä on onnistuneesti kehittänyt omiin tarkoituksiinsa sopivaksi [Kilpisjärvi-ilmiö: Miten luonnonihmeet ja yhdessä vietetty aika kiihdyttävät CMS-fysiikkaa Helsingissä]. Osana retriitin ohjelmaa on nuorille tutkijoille suunnattu osuus, jonne senioreja ei päästetä. Ensimmäinen ”juniorisessio” pidettiin vuoden 2023 retriitissä, ja keskustelujen pohjalta suurimmaksi kehityskohteeksi osallistujat nostivatkin tieteellisen laskennan ja ohjelmointitaitojen kehittämisen.
Kirjaimellisesti tiivistetty palaute oli ”How to write good code”. Tämän pohjalta lähdimme miettimään, miten huippuyksikön tasolla voitaisiin reagoida saatuun palautteeseen. Hyvin nopeasti kävi ilmi, ettei ole mitenkään ihmeellistä, että nimenomaan laskennallisiin menetelmiin liittyen on paljon mahdollisuuksia kehittää toimintaa. Ensimmäinen kyhäämämme luettelo tieteelliseen laskentaan liittyvistä asioista, joita ”jokaisen hiukkasfyysikon olisi hyvä osata”, paisui nimittäin nopeasti monisivuiseksi kunnianhimoiseksi dokumentiksi.
Lopulta päädyttiin formaattiin, jossa noin kerran kuukaudessa järjestetään iltapäivän mittainen ”Computing afternoon” -tilaisuus, suunnattuna pääosin huippuyksikön nuorille tutkijoille. Koska yllä mainittu Tärkeiden Asioiden dokumentti paisui massiiviseksi, päädyimme filosofiaan, jonka mukaan tavoitteena ei ole opettaa kaikkea vaan välittää viesti ”hyviä ratkaisuja erilaisiin ongelmiin on olemassa”. Tarkoituksena on, että kun osallistujat ovat nähneet ja kokeilleet erilaisia hyviä ratkaisuja tieteellisen laskennan ongelmiin, he osaavat sitten etsiä oikeaa tietoa, kun vastaava pulma tulee heille itselleen eteen. Samanaikaisesti aloimme rakentamaan huippuyksikön wikiä (linkki: https://gitlab.jyu.fi/tulappi/test/-/wikis/home), jonne lähinnä laskentamenetelmiin liittyvää oleellista käytännön tietoa kerättiin. Ensimmäisen vuoden aikana pidettyjen tilaisuuksien teemat olivat
- Laskentapalvelimet (CSC ja paikalliset koneet) ja niiden käyttö
- Versionhallinta ja yhteistyö, git ja gitlab/github
- Ohjelmistojen automaattinen testaus
- Ohjelmointikielet
- Python ja tärkeimmät python-kirjastot
- Olio-ohjelmointi
- Kääntäjät, kirjastot ja linkitys
Tarkoituksena ei ole pitää formaalia luentokurssia, ja niinpä tilaisuudetkin on pidetty mahdollisimman epämuodollisina ja sellaisina, että kaikki pääsevät oikeasti kirjoittamaan koodia ja tutustumaan mm. laskentaklustereihin käytännössä. Osallistujien aktiivinen rooli tilaisuuksissa on keskeinen: he ovat paitsi osallistuneet harjoituksiin ja keskusteluihin, myös pitäneet esityksiä itse hallitsemistaan aiheista. Lyhyitä esityksiä pitämään on saatu myös ulkopuolisia asiantuntijoita kuten paikallisten laskentapalvelimien ylläpitoa. Jokainen tapaaminen päättyy kyselyyn, jossa osallistujat voivat toivoa seuraavan tapaamisen aihetta.


Kun Kvarkkiaineen huippuyksikkö vuotta myöhemmin kokoontui uudelleen retriittiin syksyllä 2024, juniorisessiosta tullut palaute laskentailtapäivistä oli hyvinkin positiivinen. Itse asiassa jopa kunnianhimoinen: toiveena oli sisällyttää enemmän entistä edistyneempiä aihepiirejä. Tarkoituksena onkin ottaa haaste vastaan, onhan paljon asioita alkuperäisestä kunnianhimoisesta suunnitelmasta vielä käsittelemättä, ja uusia ideoitakin osallistujilta on tullut. Selkeitä aihepiirejä, joihin ei vielä ole ehditty pureutua, ovat muun muassa debuggaustyökalut, ohjelmistojen avoin julkaiseminen, koodien rinnakkaistaminen sekä GPU-ohjelmointi.
Samalla kun innoissamme pääsemme keskustelemaan porukalla erilaisista tieteellisen laskennan hienouksista, on myös mietittävä pidemmän aikavälin suunnitelmaa. Huippuyksikköön liittyy ja sieltä lähtee vuosittain useita tohtorikoulutettavia ja tutkijatohtoreita. Mikä olisi paras tapa tarjota kaikille mahdollisuus oppia ja jakaa omaa erityisosaamistaan laskentailtapäivien puitteissa? Tieteellisen laskennan ongelmat ovat hyvin samanlaisia myös muille kuin Jyväskylän hiukkasfyysikoille, joten formaatin laajentaminen Jyväskylän fysiikan laitoksen tai toisaalta HIPin tasolle tavalla tai toisella on myös mietinnässä, hyviä ehdotuksia otetaan vastaan.Laskentailtapäivien käytännön suunnittelusta ja toteutuksesta ovat pääasiassa vastanneet tutkijatohtori Felix Hekhorn, akatemiatutkija Ilkka Helenius ja apulaisprofessori Heikki Mäntysaari.
Heikki Mäntysaari
Jyväskylän yliopisto ja Fysiikan tutkimuslaitos (QCD Matter -projekti)