R

De i2basque

R es un programa y un lenguaje diseñado para la realización y visualización de cálculos estadísticos.

Instalación de R 32 bits

Se ha instalado R en su versión de 32 bits en todos los nodos de 32 bits, pero sólo se ha instalado el soporte gráfico de R que permite sacar gráficos por pantalla en el nodo frontend del Grid de i2BASQUE.

En la web de R hay un completo manual de instalación de R y en el apartado de documentación se pueden encontrar completos manuales de R.

Primero hay que bajar el código fuente de cualquier mirror de R. Una vez esté descargado se descomprime y entramos en el directorio recién creado.

Para instalar R hemos tenido que instalar previamente varias librerías faltantes usando la herramienta apt-get:

apt-get install libreadline5 libreadline5-dev libxt-dev

Como suele pasar nos hemos dado cuenta de las librerías faltantes una vez comenzamos a configurar o compilar la instalación.

Configuramos el archivo config.site con las opciones de compilación y los caminos absolutos a las librerías que usaremos para compilar. Las variables que introduciremos en dicho fichero serán las siguientes:

CC=/opt/intel32/cc/9.0/bin/icc
ICC_LIBS=/opt/intel32/cc/9.0/lib/
CFLAGS="-mp -g -O2"
F77=/opt/intel32/fc/9.0/bin/ifort
IFC_LIBS=/opt/intel32/fc/9.0/lib
FFLAGS="-mp -g -O2"
LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/lib64"
CXX=/opt/intel32/cc/9.0/bin/icc
CXXFLAGS="-mp -g -O2"
BLAS_LIBS="-L/opt/mkl/8.0.1/lib/32 -lmkl -lguide -lpthread"
LAPACK_LIBS="-L/opt/mkl/8.0.1/lib/32 -lmkl_lapack"

Como se puede ver en la anterior relación de variables, hemos utilizado los compiladores de C y Fortran de Intel, en sus versiones 9.0. Además se usan las librerías matemáticas de Intel, Intel Math Kernel Library versión 8, optimizadas para procesadores Intel.

Luego pasamos a configurar:

./configure --x-libraries=/usr/X11R6/lib --prefix=/opt/R32

Una vez configurado hay que compilar:

make

La compilación da un error, y es que dice que hay una expresión regular errónea. El problema en cuestión viene de la ejecución de la expresión regular [[:blank:]]*([[:alnum]]+) en el fichero src/library/profile/Common.R. Pero el problema en realidad radica en que el fichero src/main/regex.c no puede ser compilado con las opciones de optimización -O2. Para ello hace falta borrar el fichero regex.o y compilarlo a mano siguiendo las opciones de compilación anteriores:

cd src/main
/opt/intel32/cc/9.0/bin/icc -I../../src/extra/zlib -I../../src/extra/bzip2 \
-I../../src/extra/pcre  -I. -I../../src/include \
-I../../src/include -I/usr/local/include -DHAVE_CONFIG_H \
-mp -g -c regex.c -o regex.o

Luego bastará volver al directorio principal y repetir el comando make.

Por último, queda chequear el sistema compilado e instalar el sistema en su directorio definitivo /opt/R32:

make check
make install


Instalación de R 64 bits

La instalación de R en los sistemas de 64 bits del Grid de i2BASQUE es equivalente a la de 32 bits, con las siguientes modificaciones.

No hace falta instalar ningún paquete adicional porque no se va a usar R más que para cálculo batch desde el sistema de colas, no permitiéndose la visualización de gráficos ni instalando la interfaz basada en la librería libreadline.

Cambian las opciones a poner en el fichero config.site:

CC=/opt/intel64/cce/9.0/bin/icc
ICC_LIBS=/opt/intel64/cce/9.0/lib/
CFLAGS="-mp -g -O2"
F77=/opt/intel64/fce/9.0/bin/ifort
IFC_LIBS=/opt/intel64/fce/9.0/lib
FFLAGS="-mp -g -O2"
LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/lib64"
CXX=/opt/intel64/cce/9.0/bin/icc
CXXFLAGS="-mp -g -O2"
BLAS_LIBS="-L/opt/mkl/8.0.1/lib/em64t -lmkl -lguide -lpthread"
LAPACK_LIBS="-L/opt/mkl/8.0.1/lib/em64t -lmkl_lapack"

También hay que modificar la línea de configuración para que no se usen los paquetes libreadline, libreadline-dev, ni libxt-dev, ya que no se usarán al no permitir la ejecución interactiva de R en los nodos de cómputo del grid. Para ver los resultados de los cálculos con R lanzados desde el sistema de colas, habrá que verlos en el frontend que es una máquina de 32 bits en la que sí están instalado el soporte gráfico de R y la interfaz amigable basada en libreadline.

./configure --with-readline=no --with-x=no --prefix=/opt/R64

En nuestra instalación de 64 bits no hemos necesitado compilar el fichero regex.c, ya que la ejecución del make no ha dado ningún error de expresión regular al contrario de como pasaba antes.

La información de instalación de R ha sido sacada del manual de instalación de R.


Uso de R en el Grid de i2BASQUE

Sección en construcción



Volver a Manual GRID de i2BASQUE

Herramientas personales
Otros idiomas