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ó.