R

Introducció

En aquest exemple, explorarem com enviar a Multivac un programa usant R per a calcular una funció objectiu.

Codi d’exemple

Suposem que volem minimitzar la següent funció objectiu:

\[f(x) = x^2 + 3x + 2\]

Crearem un arxiu per exemple anomenat test_R.R per a calcular el valor de la funció objectiu per a un valor específic de x:

# Definim la funció objectiu
f <- function(x) {
return(x^2 + 3*x + 2)
}

# Definim un valor específic de x
x_val <- 5

# Calculem el valor de la funció objectiu per a x_val
resultat <- f(x_val)

# Mostrem el resultat
cat("El valor de la funció objectiu per a x =", x_val, "és", resultat, "\n")

Execució

Crearem un document amb els parametres de conficuració, per exemple: test_R.slurm` que conté la configuració d’execució per a aquest script de R.

VERSION=1.3
JOB_NAME=R_example
NAME_OUTPUT=out
PARTITION=all
N_TASKS=1
CPUS_PER_TASK=1
MAIL_TYPE=END,FAIL
MAIL_USER=nom.usuari@upc.edu
MEMORY=1G
BEGIN=now
TIME_LIMIT=00:05:00
LOG_OUTPUT=log
FORCED_NODES=
EXCLUDED_NODES=
ROUTE=~/
COMMANDS=(
        "Rscript $ROUTE/test_R.R"
)

Aquest script el llançarem des de iocex usant la següent comanda:

multivac test_R.slurm

El resultat del nostre programa un cop finalitzada l’execució serà visible al mateix directori a on hem fet l’execució.