CLUSTER EULERCaracterísticas. En su configuración actual dispone de 146 nodos Intel(R) Xeon(R) CPU E5450@ 3.0GHz.
Cada nodo tiene 8 procesadores o “cores”, lo que hace un total de 1152.
Cada nodo tiene 16 GB de memoria, ó 2 GB por core.
Además dispone de dos nodos para acceso interactivo y dos nodos de gestión
Todos los nodos se han interconectado a una red de alta velocidad Infiniband que se utilizará para la comunicación entre los procesos que colaboran en los trabajos paralelos MPI.
CLUSTER EULERCaracterísticas. El cluster está basado en el sistema operativo linux (Red Hat Enterprise).
Dispone las herramientas habituales de software libre.
Existen dos nodos que actúan como frontend para que los usuarios puedan conectarse en forma interactiva.
El resto de los nodos actúan como servidores de cálculo accesibles sólo a través del entorno batch.
CLUSTER EULERConexión a EULER. Para conectarse desde un desktop basado en MS Windows/CENIT se dispone de un cliente ssh llamado PUTTY (Z:P32PUTTYPUTTY.EXE)
También se puede utilizar el emulador de ventanas X llamado Exceed. (http://intranet.ciemat.es/ICIEMATportal/portal.do?TR=A&IDR=1&identificador=1679)
En desktop basado en Linux basta utilizar el cliente habitual ssh. Ejemplos: ssh euler ssh -f -X euler gnome-terminal
CLUSTER EULERSoftware en EULER. Sistema Operativo Red Hat Enterprise Linux AS release 4 (64 bits). Dispone de herramientas gráficas de administración, planificador de procesamiento paralelo, distribución dinámica de procesos, etc.
Compiladores Se han instalado los dos grupos de compiladores más usuales en estas plataformas: GNU: Compiladores de Fortran 90, C y C++ . Se han instalado dos versiones de los compiladores: la versión 3.4 (comandos gcc, g++ y g77) la versión 4.1 (comandos gcc4, g++4 y gfortran). Intel: Compiladores de Fortran, C y C++ versión 10.1.
CLUSTER EULERSoftware en EULER. Herramientas para desarrollo de aplicaciones paralelas: MPI: (Message Passing Interface), el estándar de facto para programación con paso de mensajes explícitos. OpenMP: Es una API (Application Program Interface) basada en directivas, rutinas y variables de entorno que facilita la paralelización en arquitecturas de memoria compartida. Está integrada en los compiladores de Intel, y se accede con un simple flag.
Utilidades de software público: La mayor parte de la colección de software de GNU. Se instalará en el futuro cualquier paquete que pueda necesitar un usuario del centro.
Sistema de gestión de bach y planificación basado en Torque/Moab.
CLUSTER EULERCompiladores. La máquina dispone de compiladores de Fortran, C y C++, tanto de Intel como de GNU, que se pueden invocar con los siguientes comandos:
ifort -o prog prog.f90 (Fortran 90, compilador de Intel) g77 -o prog prog.f (Fortran 77, compilador de GNU) gfortran -o prog prog.f90 (Fortran 90, compilador de GNU)
icc -o prog prog.c (C, compilador de Intel) gcc/gcc4 -o prog prog.c (C, compilador de GNU)
icpc -o prog prog.cc (C++, compilador de Intel) g++/g++4 -o prog prog.cc (C++, compilador de GNU)
CLUSTER EULERCompiladores. En caso de utilizar los compiladores de Intel es necesario añadir los directorios correspondientes al “PATH” y al “LD_LIB RARY_PATH”. Esto puede hacerse con los scripts siguientes:
Si se usa bash source /opt/intel/cce/10.1.015/bin/iccvars.sh source /opt/intel/fce/10.1.015/bin/ifortvars.sh
Si se usa tcsh source /opt/intel/cce/10.1.015/bin/iccvars.csh source /opt/intel/fce/10.1.015/bin/ifortvars.csh
CLUSTER EULEROptimización de Intel Los flags (opciones) más comunmente utilizados al invocar el compilador de Fortran de Intel, en general para optimizar código y conseguir que se ejecute más rápidamente, son los siguientes
Flags para optimización: -O0: Sin optimización. -O1: Optimización local. -O2,-O: Optimización extensiva. Es el defecto. -O3: Ejecuta más SWP, prefetching, reogarnización de loop, etc. –ip: intra-file/inter-file interprocedural optimization. -prof_gen/-prof_use: optimización con feedback; útil si se tienen un buen conjunto de pruebas. -fno-alias, -fno-fnalias: Mejor optimización al indicar el uso de punteros sin utilizar aliasing. -opt_report: Genera un reporte de la optimización. -ftz: fija underflows a cero, evitando traps del kernel (habilitado por defecto en -03).
CLUSTER EULER Optimización de Intel Una regla práctica a seguir es Intentar al menos "-O2" en todas las rutinas. Tratar de compilar las rutinas que más tiempo consuman con “ -O3".
En este último caso, sin embargo, debe tenerse en cuenta que los resultados pueden cambiar ligeramente debido a diferencias en los redondeos. Además aumentará el tiempo de compilación, por lo que no conviene utilizar estos flags cuando se está desarrollando.
Página siguiente |