-
r-env
r-env
r-env tarjoaa R:n ja RStudio Serverin sekä useita muita ominaisuuksia niiden käytön helpottamiseksi. Se toimii Apptainer-kontissa.
-
R on avoimen lähdekoodin kieli ja ympäristö data-analytiikkaan, tilastolliseen laskentaan ja grafiikkaan. Lisätietoa R:stä löytyy R Projectin verkkosivuilta. Monet hyödylliset R-manuaalit ovat myös saatavilla CRANissa.
-
RStudio Server on integroitu kehitysympäristö (IDE) R:lle. Lisätietoa RStudiosta löytyy RStudion verkkosivuilta.
Uutiset
25.5.2026 r-env-dokumentaatio on päivitetty sisältämään ohjeet R:n käyttöön Roihu-supertietokoneella.
29.4.2026 r-env-dokumentaatio on päivitetty ja järjestelty uudelleen. Rinnakkaisten R-eräajojen malliskriptit löytyvät nyt
erilliseltä ohjesivulta Esimerkkejä rinnakkaisista R-eräajoista.
17.2.2026 R-versio 4.5.2 on nyt saatavilla r-env:ssä Puhdissa ja Mahdissa, ja se on asetettu oletusversioksi.
Vanhemmat uutiset (näytä klikkaamalla)
22.7.2025 R-versio 4.5.1 on nyt saatavilla r-env:ssä Puhdissa ja Mahdissa, ja se on asetettu oletusversioksi.
7.4.2025 r-env on nyt saatavilla myös Mahdissa, mukaan lukien RStudio Mahdin selainkäyttöliittymässä. Moduuli toimii yleisesti ottaen samalla tavalla kuin r-env Puhdissa, mutta huomaa, että alla olevaa dokumentaatiota ei ole vielä päivitetty Mahdille. Mahdin uusi small-osio soveltuu monenlaiseen R- ja RStudio-työskentelyyn, pois lukien kaikkein muistisyöpimmät tehtävät. Puhtiin tottuneiden käyttäjien kannattaa huomioida, että Mahdissa ei ole erillistä muistivarausta, ja ainoa tapa saada lisää muistia on varata enemmän ytimiä. Jos sinulla on kysyttävää R:n käytöstä Mahdissa, ota yhteyttä CSC:n Service Deskiin.
Saatavilla
r-env sisältää yli 1700 esiasennettua R-pakettia, mukaan lukien tuki paikkatietoanalyyseille ja rinnakkaislaskennalle. Suorituskyvyn parantamiseksi r-env on käännetty käyttäen Intel® oneAPI Math Kernel Librarya (oneMKL) (entinen Intel® MKL).
Pieniä poikkeuksia lukuun ottamatta r-env:n R-pakettiversiot ovat päivämäärälukittuja (CRAN-paketit) tai sidottuja tiettyyn Bioconductor -versioon.
Nykyiset moduulit ja CSC:n supertietokoneilla tuetut versiot:
| Moduulin nimi (R-versio) | CRAN-pakettien päiväys | Bioconductor-versio | RStudio Server -versio | oneMKL-versio | Cmdstan-versio |
|---|---|---|---|---|---|
| r-env/452 (oletus) | 4. huhtikuuta 2026 | 3.22 | 2026.01.0-392 | 2025.3.0 | 2.39.0 |
| Moduulin nimi (R-versio) | CRAN-pakettien päiväys | Bioconductor-versio | RStudio Server -versio | oneMKL-versio | Cmdstan-versio |
|---|---|---|---|---|---|
| r-env/452 (oletus) | 7. tammikuuta 2026 | 3.22 | 2026.01.0-392 | 2025.3.0 | 2.38.0 |
| r-env/451 | 7. heinäkuuta 2025 | 3.21 | 2025.05.1-513 | 2025.2.0 | 2.36.0 |
| r-env/442 | 12. helmikuuta 2025 | 3.20 | 2024.12.0-467 | 2025.0.1 | 2.36.0 |
| r-env/440 | 15. toukokuuta 2024 | 3.19 | 2024.04.0-735 | 2024.1.0 | 2.35.0 |
| r-env/432 | 15. tammikuuta 2024 | 3.18 | 2023.12.0-369 | 2024.0.0 | 2.34.1 |
| r-env/430 | 7. kesäkuuta 2023 | 3.17 | 2023.06.0-421 | 2023.1.0 | 2.32.2 |
| r-env/422 | 6. maaliskuuta 2023 | 3.16 | 2023.03.0-386 | 2023.1.0 | 2.32.1 |
| r-env/421 | 29. kesäkuuta 2022 | 3.15 | 2022.02.3-492 | 2022.1.0 | 2.30.1 |
| Moduulin nimi (R-versio) | CRAN-pakettien päiväys | Bioconductor-versio | RStudio Server -versio | oneMKL-versio | Cmdstan-versio |
|---|---|---|---|---|---|
| r-env/452 (oletus) | 7. tammikuuta 2026 | 3.22 | 2026.01.0-392 | 2025.3.0 | 2.38.0 |
| r-env/451 | 7. heinäkuuta 2025 | 3.21 | 2025.05.1-513 | 2025.2.0 | 2.36.0 |
| r-env/442 | 12. helmikuuta 2025 | 3.20 | 2024.12.0-467 | 2025.0.1 | 2.36.0 |
Muut ohjelmistot ja kirjastot:
- Open MPI (Mellanox OFED™ -ohjelmistolla) 4.1.9 (
r-env/452Roihu-CPU:ssa), 4.1.7 (r-env/452Puhdissa ja Mahdissa,r-env/451), 4.1.2 (r-env/421:stär-env/442:een) - TensorFlow 2.20.0 (
r-env/452), 2.19.0 (r-env/451), 2.18.0 (r-env/442), 2.9.1 (r-env/421:stär-env/440:een) - cget 0.2.0
Lisenssit
-
Tietoa R:n ja siihen liittyvien ohjelmistojen (mukaan lukien paketit) käytössä olevista lisensseistä löytyy R Projectin verkkosivuilta. Paketin tarkka lisenssi voidaan tarkistaa myös R:n sisällä:
packageDescription("package", fields="License"). Lisätietoa R:n ja eri R-pakettien viittaamisesta (sivun alalaidassa). -
RStudio Server -asennus perustuu Open Source Editioniin (saatavilla AGPL v3 -lisenssillä). Tutustu myös RStudio End User License Agreementiin.
-
Open MPI:tä jaellaan 3-lausekkeen BSD-lisenssillä (lisätietoja Open MPI:n verkkosivuilla).
-
Mellanox OFED™ perustuu OFED™:iin (saatavilla kaksoislisenssillä BSD tai GPL 2.0) sekä suljettuihin komponentteihin (katso Mellanox OFED™ End-User Agreement).
-
Intel® MKL:ää jaellaan Intel Simplified Software License -lisenssillä.
-
NVIDIA NCCL:ää jaellaan 3-lausekkeen BSD-lisenssillä.
-
NVIDIA cuDNN:ää jaellaan Software License Agreement for NVIDIA software development kits -lisenssillä.
-
cget on saatavilla Boost Software License -lisenssillä.
-
CmdStania jaellaan 3-lausekkeen BSD-lisenssillä.
Lisenssitiedot r-env-kontin sisällä ovat saatavilla tiedostossa /usr/licensing.txt.
Käyttö
R:ää voi käyttää r-env-moduulilla useilla tavoilla:
Interaktiivinen käyttö
-
RStudio Server, joka toimii interaktiivisissa ajoissa laskentasolmulla
-
R-konsoli komentorivillä interaktiivisessa komentotulkki-istunnossa laskentasolmulla
-
Kirjautumissolmulla R-konsolia käyttäen. Käytä tätä vaihtoehtoa vain datan siirtämiseen, pakettien saatavuuden tarkistamiseen ja pakettien asentamiseen. Kirjautumissolmut eivät ole tarkoitettu raskasta laskentaa varten.
interactive-osiolla ajettavilla interaktiivisilla ajoilla on omat resurssirajoituksensa (aika, muisti, CPU-ytimet). Katso Roihun käytettävissä olevat resurssit ja Mahdin resurssit.
Ei-interaktiivinen käyttö
- Ei-interaktiiviset eräajot ilman varattuihin laskentaresursseihin kohdistuvia rajoituksia (muita kuin kyseiseen CSC:n supertietokoneeseen yleisesti sovellettavia)
Miten minun kannattaa käyttää R:ää r-env:n kanssa?
- Interaktiivinen käyttö on tarkoitettu koodin valmisteluun ja pienempiin, enintään muutaman tunnin analyyseihin, ja siinä voi olla rajalliset resurssit.
- Ei-interaktiiviset eräajot tarjoavat enemmän resursseja, ja niitä tulisi käyttää erityisesti pitkiin tai paljon resursseja vaativiin tehtäviin.
Interaktiivinen käyttö laskentasolmulla
1. RStudio
r-env-moduulia voidaan käyttää RStudio Serverin käynnistämiseen etänä verkkoselaimessa.
Suositeltu tapa käynnistää RStudio on käyttää supertietokoneen selainkäyttöliittymää. Katso myös erillinen dokumentaatio selainkäyttöliittymän RStudioon.
RStudio Serverin voi käynnistää myös SSH-tunneloinnin kautta Puhdissa ja Mahdissa. Tämä vaihtoehto edellyttää tunnistautumista Secure Shell (SSH) -avaimella. Yksityiskohtaiset ohjeet löytyvät erillisestä RStudio Serverin käyttöohjeesta.
RStudio on tarkoitettu interaktiiviseen työskentelyyn, joka käyttää kohtuullisen vähän laskentaresursseja. Pitkät, paljon muistia vaativat tai muuten raskaat tehtävät kannattaa tehdä ei-interaktiivisina eräajoina.
2. R-konsoli interaktiivisessa komentotulkki-istunnossa
Jos haluat käyttää R:ää interaktiivisesti komentoriviltä laskentasolmulla, käynnistä ensin interaktiivinen komentotulkki-istunto.
Interaktiivisen komentotulkki-istunnon käynnistäminen (näytä ohjeet klikkaamalla)
Vaihtoehto 1. Avaa supertietokoneen selainkäyttöliittymissä komentotulkki-istunto Compute node shell -työkalulla. Resursseja valitessasi varmista, että varaat paikallista levytilaa väliaikaistiedostoille.
Vaihtoehto 2. Kun yhdistät supertietokoneeseen omalta työasemaltasi SSH-asiakasohjelmalla, avaa komentotulkki-istunto käyttäen sinteractive-komentoa.
Esimerkiksi alla oleva komento käynnistäisi istunnon, jossa on 4 Gt muistia ja 8 Gt paikallista levytilaa (Puhdissa ja Mahdissa).
Jokainen ydin antaa 1,875 Gt muistia. Saadaksesi lisää muistia varaa enemmän ytimiä (enintään 32 ydintä 60 Gt muistille).
Jokaisella käyttäjällä on oletuksena 20 Gt väliaikaista levytilaa interactive-osiolla.
Paikallista levytilaa tulee aina varata väliaikaistiedostoille valinnalla --tmp, kun R:ää käytetään interaktiivisesti.
On mahdollista määrittää myös muita valintoja, mukaan lukien ajoaika (katso sinteractive-dokumentaatio).
Kun olet avannut interaktiivisen komentotulkki-istunnon, voit käynnistää R:n komentoriviversion seuraavasti (huomaa, että komento täytyy ajaa laskentasolmulla):
Interaktiivinen käyttö kirjautumissolmulla
R-konsolia on mahdollista käyttää myös kirjautumissolmulla kevyisiin tehtäviin. Käytä tätä vaihtoehtoa vain datan siirtämiseen, pakettien saatavuuden tarkistamiseen ja pakettien asentamiseen. Kirjautumissolmut eivät ole tarkoitettu raskasta laskentaa varten.
Käynnistä R-konsoli kirjautumissolmulla ajamalla seuraavat komennot:
Ei-interaktiiviset eräajot
R-skriptien ajaminen ei-interaktiivisesti eräajotiedostojen avulla antaa käyttöön enemmän resursseja ja painottaa tehokkuutta interaktiivisuuden sijaan. Eräajoja suositellaan erityisesti kaikkiin pitkiin ja paljon resursseja vaativiin tehtäviin.
Seuraavien esimerkkien lisäksi katso yleinen eräajodokumentaatio saadaksesi lisätietoa. Jos eräajot ovat sinulle uusia, tutustu CSc Computing Environment -kurssin eräajomateriaaleihin ja tähän ohjeeseen interaktiivisten R-ajojen ja R-eräajojen suorittamisesta.
Perus R-eräajoskripti
Alla on esimerkki sarjallisesta R-eräajosta, joka käyttää yhtä ydintä. Huomaa, että käytössä on test-osio, jonka aikaraja on 15 minuuttia ja jota käytetään vain testaustarkoituksiin.
Varsinaiset R-eräajot tulisi useimmissa tapauksissa ajaa small-osiolla. Katso tarkemmat tiedot käytettävissä olevista eräajo-osioista Roihussa, Puhdissa ja Mahdissa.
Enemmän kuin yksi CPU-ydin?
Oletuksena R käyttää yhtä CPU-ydintä. Kun työskentelet R-skriptin tai -paketin kanssa, joka osaa hyödyntää useita ytimiä ja rinnakkaisprosessointia, tutustu rinnakkaisten R-eräajoskriptien esimerkkeihin.
Määrittelemme eräajoskriptin suorittamaan R-skriptin (tässä myscript.R). Puhdissa ja Mahdissa käytämme apptainer_wrapper-komentoa, joka varmistaa, että projektihakemistot näkyvät siinä Apptainer-kontissa, jossa r-env toimii.
#!/bin/bash
#SBATCH --job-name=r_serial # Ajon nimi
#SBATCH --account=<project> # Määritä laskutusprojekti, esim. project_2001234
#SBATCH --output=output_%j.txt # Tiedosto tulosteelle (%j on ajon tunniste)
#SBATCH --error=errors_%j.txt # Tiedosto virheille (%j on ajon tunniste)
#SBATCH --partition=test # Ajo-osio (jono), käytä yleensä 'small'
#SBATCH --time=00:05:00 # Ajon enimmäiskesto (hh:mm:ss)
#SBATCH --cpus-per-task=1 # Ytimien määrä
#SBATCH --ntasks=1 # Tehtävien määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
#SBATCH --nodes=1 # Solmujen määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
#SBATCH --mem-per-cpu=2000M # Varattava muisti CPU-ydintä kohti
# Lataa r-env-moduuli
module load r-env
# Aja R-skripti
srun Rscript --no-save myscript.R
#!/bin/bash
#SBATCH --job-name=r_serial # Ajon nimi
#SBATCH --account=<project> # Määritä laskutusprojekti, esim. project_2001234
#SBATCH --output=output_%j.txt # Tiedosto tulosteelle (%j on ajon tunniste)
#SBATCH --error=errors_%j.txt # Tiedosto virheille (%j on ajon tunniste)
#SBATCH --partition=test # Ajojono (osio): käytä yleensä 'small'
#SBATCH --time=00:05:00 # Ajon enimmäiskesto (hh:mm:ss)
#SBATCH --cpus-per-task=1 # Ytimien määrä
#SBATCH --ntasks=1 # Tehtävien määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
#SBATCH --nodes=1 # Solmujen määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
#SBATCH --mem-per-cpu=2000 # Varattava muisti ydintä kohti
# Lataa r-env-moduuli
module load r-env
# Siivoa kotihakemiston .Renviron-tiedosto
if test -f ~/.Renviron; then
sed -i '/TMPDIR/d' ~/.Renviron
fi
# Määritä väliaikaishakemiston polku (korvaa <project> projektillasi)
echo "TMPDIR=/scratch/<project>" >> ~/.Renviron
# Aja R-skripti
srun apptainer_wrapper exec Rscript --no-save myscript.R
#!/bin/bash
#SBATCH --job-name=r_serial # Ajon nimi
#SBATCH --account=<project> # Määritä laskutusprojekti, esim. project_2001234
#SBATCH --output=output_%j.txt # Tiedosto tulosteelle (%j on ajon tunniste)
#SBATCH --error=errors_%j.txt # Tiedosto virheille (%j on ajon tunniste)
#SBATCH --partition=test # Ajojono (osio), käytä yleensä 'small'
#SBATCH --time=00:05:00 # Ajon enimmäiskesto (hh:mm:ss)
#SBATCH --cpus-per-task=1 # Ytimien määrä (1,875 Gt muistia kukin)
#SBATCH --ntasks=1 # Tehtävien määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
#SBATCH --nodes=1 # Solmujen määrä (muuta tätä vain monisolmu-/MPI-ajoissa)
# Lataa r-env-moduuli
module load r-env
# Siivoa kotihakemiston .Renviron-tiedosto
if test -f ~/.Renviron; then
sed -i '/TMPDIR/d' ~/.Renviron
fi
# Määritä väliaikaishakemiston polku (korvaa <project> projektillasi)
echo "TMPDIR=/scratch/<project>" >> ~/.Renviron
# Aja R-skripti
srun apptainer_wrapper exec Rscript --no-save myscript.R
Yllä olevassa esimerkissä yksi tehtävä (--ntasks=1) suoritetaan yhdellä CPU-ytimellä (--cpus-per-task=1), 2 Gt muistilla (--mem-per-cpu=2000M) ja viiden minuutin ajoajalla (--time=00:05:00), jotka on varattu ajolle.
Komento module load r-env lataa uusimman saatavilla olevan r-env-version. Jos haluat määrittää ladattavan moduuliversion, käytä komentoa module load r-env/<version>, esimerkiksi module load r-env/452.
Tärkeää: varmista, että R-eräajollasi on riittävästi levytilaa väliaikaistiedostoille
Jokaisella käyttäjällä on oletuksena 20 GiB väliaikaista tallennustilaa paikallisella levyllä osioilla small, interactive ja test.
Tähän tallennustilaan pääsee ympäristömuuttujalla $TMPDIR.
Jos R-ajosi tuottavat erittäin paljon tai erittäin suuria väliaikaistiedostoja, jotka ylittävät 20 GiB,
ohjaa väliaikaistiedostot alla olevan esimerkin mukaisesti projektisi /scratch-hakemistoon tai nopeaan paikalliseen scratch-tallennustilaan (ei tällä hetkellä saatavilla Roihussa). Huomaa, että kokonaisen solmun ajot
medium-osiolla tarjoavat oletuksena 600 GiB väliaikaista tallennustilaa.
Varmista, että määrität väliaikaishakemiston polun projektisi scratch-hakemistoon /scratch/<project> kuten yllä olevassa esimerkissä. Tai jos ajosi lukee ja kirjoittaa paljon tiedostoja,
käytä sen sijaan nopeaa paikallista levyä. Muuten väliaikaistiedostot menevät hakemistoon /tmp, jossa on rajallisesti tilaa ja joka täyttyy helposti, haitaten sinun ja muiden käyttäjien ajoja.
Varmista, että määrität väliaikaishakemiston polun projektisi scratch-hakemistoon /scratch/<project> kuten yllä olevassa esimerkissä. Tai jos ajosi lukee ja kirjoittaa paljon tiedostoja,
käytä sen sijaan nopeaa paikallista levyä. Muuten väliaikaistiedostot menevät hakemistoon /tmp, jossa on rajallisesti tilaa ja joka täyttyy helposti, haitaten sinun ja muiden käyttäjien ajoja.
Kun tiedosto on valmis, eräajotiedosto lähetetään eräajo järjestelmään kirjautumissolmulta:
Rinnakkaiset eräajot
r-env-moduulia voidaan käyttää rinnakkaislaskentaan useilla tavoilla. Näihin kuuluvat moniydin- ja taulukkolähetykset sekä MPI (Message Passing Interface) -pohjaiset ja moni-solmuajot.
Moduulin mukana tulee useita paketteja, jotka tukevat monisolmuviestintää MPI:n kautta: future, snow, doMPI (käytetään yhdessä foreach-paketin kanssa) ja pbdMPI.
Katso erillinen dokumentaatio seuraavista aiheista:
Lisäneuvoja rinnakkaisista R-ajoista ja niiden tehokkaasta ajamisesta CSC:n supertietokoneilla saat ottamalla yhteyttä CSC Service Deskiin.
R-pakettien asennukset
r-env sisältää yli 1500 esiasennettua R-pakettia. Jos haluat tarkistaa, onko tietty paketti jo asennettu, helpoin tapa on yrittää ladata se:
Jos et halua ladata pakettia, voit myös hakea sitä listasta:
Lisää R-paketteja voidaan asentaa kahta reittiä pitkin:
-
Asenna paketti itse projektillesi erilliseen pakettihakemistoon
/projappl/<project>-hakemistossa (ohjeet alla) -
Pyydä yleistä asennusta (tarjotaan kaikille käyttäjille osana moduulia): ota yhteyttä CSC Service Deskiin
Jos haluat asentaa paketin itse projektillesi:
Luo ensin uusi kansio projektisi projappl -hakemistoon. Huomaa, että kansion tulee olla käytössäsi olevalle R-versiolle oma.
Eri r-env- ja R-versio vaativat uuden asennuksen.
Komentokehotteessa:
Tämän jälkeen voit lisätä kansion R:n kirjastopolkuihin ajamalla R:ssä seuraavan komennon:
Jos haluat käyttää/projappl-hakemistoon asennettuja R-paketteja, lisää yllä oleva komento R-skriptisi alkuun. Se muokkaa kirjastopolkuja vain kyseisen R-istunnon aikana. Toisin sanoen sinun täytyy ajaa se joka kerta, kun käynnistät R:n.
Yllä olevien ohjeiden jälkeen pakettiasennusten pitäisi nyt oletuksena kohdistua projektikansioon. Seuraavalla komennolla voit tarkistaa, että kansio näkyy R:lle. Sen pitäisi olla listan ensimmäisenä.
Voit tarvittaessa määrittää polun myös asennuskomennossa:
R-version voi hakea myös automaattisesti käyttäen getRversion()-funktiota. Esimerkiksi:
Jotta .libPaths-asetusta ei tarvitsisi tehdä joka kerta R:ää käynnistettäessä, voit lisätä halutut muutokset .Renviron-tiedostoon alla olevan mukaisesti. Tätä lähestymistapaa suositellaan erityisesti, jos asentamaasi pakettia
käytetään rinnakkaisprosessoinnissa, jotta kaikki prosessit näkevät paketin.
Kun käytät r-env:iä, käyttäjän määrittämät muutokset R:n kirjastopolkuihin täytyy määrittää R-istunnon sisällä tai .Renviron-tiedostoon liittyen. Muut muutokset (esim. ympäristömuuttujien muokkaaminen export-komennolla) eivät toimi, koska R-asennus toimii Apptainer-kontin sisällä. Jos analyysisi vaatisi muutoksia, joita ei voi toteuttaa yllä kuvatuilla tavoilla, ota yhteyttä meihin moduulinlaajuista pakettiasennusta varten.
Nopean paikallisen tallennustilan käyttö
Ajoissa, jotka lukevat ja kirjoittavat suuria määriä tiedostoja (I/O-intensiiviset analyysit), voidaan käyttää nopeaa paikallista tallennustilaa ei-interaktiivisissa eräajoissa pienin muutoksin eräajotiedostoon. Interaktiiviset R-ajot käyttävät nopeaa paikallista tallennustilaa oletuksena.
Alla on esimerkki sarjallisesta eräajosta, joka käyttää 10 Gt nopeaa paikallista tallennustilaa (--gres=nvme:10) Puhdissa ja Mahdissa. Tässä väliaikaishakemisto määritetään ympäristömuuttujalla TMPDIR, toisin kuin aiemmassa esimerkissä, jossa se asetettiin arvoon /scratch/<project>.
Roihun CPU-osioilla small, interactive ja test jokaisella käyttäjällä on oletuksena 20 GiB väliaikaista paikallista tallennustilaa. Tämä tallennustila soveltuu I/O-intensiivisiin tehtäviin, ja siihen pääsee käsiksi
ympäristömuuttujalla $TMPDIR. Jos tarvitset enemmän tallennustilaa I/O-intensiivisiin tehtäviin, katso ohjeet nopeasta paikallisesta scratch-tallennustilasta Roihussa.
#!/bin/bash -l
#SBATCH --job-name=r_serial_fastlocal
#SBATCH --account=<project>
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --partition=test
#SBATCH --time=00:05:00
#SBATCH --ntasks=1
#SBATCH --nodes=1
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=1000
#SBATCH --gres=nvme:10
# Lataa moduuli
module load r-env
# Siivoa kotihakemiston .Renviron-tiedosto
if test -f ~/.Renviron; then
sed -i '/TMPDIR/d' ~/.Renviron
fi
# Määritä väliaikaishakemisto nopeaan paikalliseen tallennustilaan
echo "TMPDIR=$TMPDIR" >> ~/.Renviron
# Aja R-skripti
srun apptainer_wrapper exec Rscript --no-save myscript.R
LOCAL_SCRATCH. Jotta R löytää datasi, sinun täytyy ilmoittaa tämä sijainti R-skriptissäsi. Kun olet käynnistänyt R:n, voit tulostaa sijainnin seuraavalla komennolla:
#!/bin/bash -l
#SBATCH --job-name=r_serial_fastlocal
#SBATCH --account=<project>
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --partition=test
#SBATCH --time=00:05:00
#SBATCH --ntasks=1
#SBATCH --nodes=1
#SBATCH --cpus-per-task=1 # Jokainen ydin antaa 1,875 Gt muistia
#SBATCH --gres=nvme:10
# Lataa moduuli
module load r-env
# Siivoa kotihakemiston .Renviron-tiedosto
if test -f ~/.Renviron; then
sed -i '/TMPDIR/d' ~/.Renviron
fi
# Määritä väliaikaishakemisto nopeaan paikalliseen tallennustilaan
echo "TMPDIR=$TMPDIR" >> ~/.Renviron
# Aja R-skripti
srun apptainer_wrapper exec Rscript --no-save myscript.R
LOCAL_SCRATCH. Jotta R löytää datasi, sinun täytyy ilmoittaa tämä sijainti R-skriptissäsi. Kun olet käynnistänyt R:n, voit tulostaa sijainnin seuraavalla komennolla:
r-env:n käyttö Stanin kanssa
r-env-moduuli sisältää useita paketteja, jotka tarjoavat rajapinnan Staniin tilastollista mallinnusta varten käyttäen bayesilaista päättelyä, kuten rstan ja cmdstanr.
R:n käyttö CmdStan-taustaohjelman kanssa
r-env-moduulin mukana tulee erillinen CmdStan -asennus, joka on sidottu jokaiseen moduuliversioon.
Sen käyttämiseksi oikea polku CmdStaniin täytyy asettaa cmdstanr:llä. Esimerkiksi r-env/452:lle tämä tehdään seuraavasti:
module purge ennen R:n käynnistämistä.
Jos käytät CmdStania interaktiivisessa istunnossa, yllä oleva komento toimii suoraan. Ei-interaktiivisissa eräajoissa Puhdissa ja Mahdissa CmdStanin polku täytyy asettaa erikseen eräajotiedostossa. Tämä tehdään lisäämällä seuraavat komennot muun eräajotiedoston sisällön lisäksi:
Eräajoskriptissä ei tarvita Cmdstan-kohtaisia asetuksia.
Muut CmdStan-taustaohjelman käyttöön liittyvät yksityiskohdat ovat pakettikohtaisia. Yhtenä esimerkkinä sitä voisi käyttää brms -paketin kanssa:
# Note: this doesn't currently work in Roihu, but we are trying to find a solution.
library(brms)
fit_serial <- brm(
count ~ zAge + zBase * Trt + (1|patient),
data = epilepsy, family = poisson(),
chains = 4, cores = 4, backend = "cmdstanr"
)
Huomaa, että brms:n ketjunsisäinen rinnakkaistus vaatii projektikohtaisen CmdStan-asennuksen. Ota yhteyttä CSC Service Deskiin saadaksesi ohjeet.
Säieaffiniteettimuuttujan APPTAINERENV_OMP_PLACES=cores on havaittu häiritsevän rinnakkaisia ajoja, joissa käytetään rstan-pakettia. Suosittelemme tällä hetkellä, että tätä muuttujaa ei käytetä Stanin kanssa ajettavissa rinnakkaisissa R-ajoissa.
Profilointityökalut R:ssä
Yleisimmät profilointityökalut R:ssä ovat utils::Rprof() ja profvis.
Kun yrität nopeuttaa R-ajoa, voit käyttää näitä työkaluja tunnistaaksesi skriptisi hitaimmat osat ja muokata sitten niitä. Esimerkiksi eri pakettien funktiot voivat käyttää eri määrän aikaa samankaltaiseen laskennalliseen tehtävään.
Lisätietoa saat aloittamalla lukemisesta profiloinnista profvisillä RStudiossa ja R:n profiloinnista yleisesti.
Käytännössä yleensä paras tapa nopeuttaa R-ajoa supertietokoneella on muokata se käyttämään useita ytimiä ja ajamaan rinnakkain. Katso esimerkkejä rinnakkaisista R-eräajoskripteistä ja johdanto rinnakkaisiin R-ajoihin, ja ota yhteyttä CSC Service Deskiin saadaksesi neuvoja.
Työskentely Allaksen kanssa
r-env-moduulin mukana tulee aws.s3 -paketti S3-tallennuksen käyttöön, mikä mahdollistaa Allas-tallennusjärjestelmän käytön suoraan R-skriptistä. Katso tästä linkistä käytännön esimerkki rasteridatasta.
Allakseen pääsee käsiksi r-env-moduulin kautta seuraavasti. Määritä ensin Allas ajamalla nämä komennot terminaalissa:
Voit nyt hakea ämpärilistasi seuraavasti. Huomaa, että jotta tämä toimisi, bucketlist()-funktioon täytyy lisätä argumentti region='':
Ongelmia pdf-renderöinnissä
Jos R Markdown- tai Quarto-dokumenttien pdf-renderöinti ei toimi, aja seuraava komento R:ssä. Kun sinulta kysytään olemassa olevasta LaTeX-jakelusta, valitse y eli yes jatkaaksesi asennusta siitä huolimatta.
Viittaaminen
Kun haluat selvittää oikeat viittaukset R:lle ja eri R-paketeille, voit kirjoittaa:
Lisätietoja
-
r-env-kontin reseptit (linkki julkiseen GitHub-repositorioon)
-
R FAQ:t (CRANin ylläpitämä)
-
Aiheeseen liittyvät projektit (lista R-aiheisista projekteista R Projectin verkkosivuilla)
-
R-pakettien cheatsheetit (ylläpidetty RStudion verkkosivuilla)
-
tidyverse (esiasennettu
r-env-moduuliin)