Ir arriba

Cálculo científico

La función es la de proporcionar el soporte, así como los medios adecuados, a aquellos investigadores, que requieran gran capacidad de cálculo computacional, o bien capacidades avanzadas en el tratamiento de datos desde un punto de vista estadístico.

Este documento, proporciona una guía para la utilización de los recursos del SCC de la Universidad de Murcia, siendo renovado periódicamente, en función de las nuevas adquisiciones, variaciones en el hardware/software o demás eventos.

Aspectos relevantes

Ayuda

La sintaxis de los diálogos mantenidos con el ordenador se presentará de la siguiente forma: tanto el texto emitido por el ordenador, como el texto introducido por el usuario, aparecerán en letra de tipo "courier", estando el texto introducido por el usuario en negrita. Los comentarios que sean necesarios, aparecerán en cursiva. Ejemplo:

prompt $ pwd <cr> /disco/people/grupo/user ! Esto puede ser un comentario de ayuda! prompt $

El texto <cr> significa retorno de carro, return, carrier return, enter, etc. Existen una serie de comandos o herramientas que nos pueden ayudar en la navegación a través del sistema operativo y de las diversas aplicaciones instaladas en ese momento:

Los principales comandos o herramientas de ayuda son:

apropose: Nos proporciona una lista de comandos en los cuales, el parámetro que le hemos proporcionado al comando coincide, bien con parte del nombre del propio comando o bien  con alguna cadena de caracteres inmersa dentro de la definición breve que posee cada comando en su manual.

Ejemplo:
prompt $ apropose link
a.out (4) - assembler and link editor output
abild (1)- ABI link editor
etc...
prompt $

man: Este parámetro proporciona un manual del comando solicitado (dado como argumento). La información proporcionada por este comando se puede dividir en:

  • Descripción breve del comando
  • Sintaxis del comando
  • Descripción detallada del comando
  • Descripción de cada una de las opciones disponibles
  • Lista de ficheros relacionados (si existen)
  • Lista de comandos relacionados con el tema
    Ejemplo

    prompt $ man cc <cr>

NAME cc - C compiler SYNOPSIS cc [ option ] ... file ... DESCRIPTION cc, the ucode C compiler, produces files in the following formats: object code in ELF format (the normal result), binary ucode, ucode object files,... etc. prompt $

xman: Este comando es muy similar al comando man, excepto en que se despliega una ventana en la que se pueden hacer búsquedas de caracteres, retroceder en los comandos consultados, efectuar consultas por secciones, así como visualizar todos comandos o funciones relacionados con una sección.

! Importante!: este comando puede darnos una prueba de que X-Windows está funcionando correctamente. Requiere: X-Windows Ejemplo: prompt $ xman <cr> En este momento debe de abrirse una ventana X-Windows. prompt $

Hardware

El servicio de Cálculo Científico cuenta en la actualidad con un clúster dedicado a cálculo intensivo. La descripción es la siguiente:

  • 1 nodo servidor con un procesador Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz y 4 GB de memoria
     
  • 8 nodos de cálculo fisicos cada uno de ellos con 16 cores Intel(R) Xeon(R) CPU E5520 @ 2.27GHz. Cada nodo cuenta con 32 GB de momoria
     
  • 8 nodos de cálculo virtuales cada uno de ellos con 32 cores Intel(R) Xeon(R) CPU E5-2650 @ 2.00GHz. Cada nodo cuenta con 128 GB de momoria
     

lo que da un total de 384 cores
Todo el cluster esta bajo el sistema operativo Centos 6.4 y el gestor de colas Torque/MAUI

Software

El software instalado, se divide en los siguientes grupos: lenguajes, librerías, editores, aplicaciones, herramientas y gestión de colas.

Lenguajes

En el momento actual se encuentran instalados los siguientes lenguajes:

  • Lenguaje Fortran.
    • Comando: g77
    • Ayuda: man g77
  • Lenguaje Fortran de Intel.
    • Comando: ifort
    • Ayuda: man ifort
  • lenguaje C
    • Comando: gcc
    • Ayuda: man gcc
  • lenguaje C de Intel
    • Comando: icc
    • Ayuda: man icc

Librerías

Existen una serie de librerías de funciones, provenientes, bien del propio sistema operativo, bien de terceros, o bien de shareware o freeware. Sin embargo, existen otras muchas librerías de carácter gratuito, que de ser interesante, se puede realizar su instalación Las principales librerías son:

  • Librería BLAS.
    • Descripción: BLAS (Basic Linear Algebra Subprograms) es una librería utilizada en las librerías LINPACK y LAPACK. Existen tres niveles BLAS. BLAS 1 implica operaciones vector-vector, BLAS 2 implica operaciones Matriz-Vector y BLAS 3 implica operaciones Matriz-Matriz.
    • Compilación: -lblas
  • Librería LAPACK.
    • Descripción: Librería transportable de subrutinas FORTRAN que solucionan los problemas más comunes en álgebra lineal numérica: sistemas de ecuaciones lineales, eigenvalores y valores singulares
    • Compilación: -llapack
Acceso

El acceso a los sistemas de Cálculo Científico, se realiza a través del protocolo TCP/IP. La inmensa mayoría de los ordenadores existentes hoy en el mercado, soportan este protocolo de comunicaciones. Tradicionalmente el acceso ha sido mediante el programa "telnet" pero debido a su inseguridad, se utiliza el protocolo seguro "ssh".

    • Entorno Windows:

      * MobaXterm: es un terminal para Windows con un servidor X11 incluido, ademas de soportar varios protocolos de acceso remoto como VNC, RDP, telnet, rlogin
      * Putty: cliente SSH (ver manual /home/manuales/putty-xming.txt)
      * SSHSecureShellClient
      * Filezilla
      * SFTP desde la línea de comandos.
       
    • Entorno Mac:

      * X11: comando ssh -X: inicia una sesión remota en modo seguro
      * X11: comando scp: inicia una transferencia de ficheros en modo seguro
       
    • Entorno Linux:

      * Comando ssh -X: inicia una sesión remota en modo seguro
      * Comando scp: inicia una transferencia de ficheros en modo seguro
       
La dirección TCP/IP del servidor de cálculo del SCC es...

sccges.atica.um.es
Cuestiones de interés

Editores

Existen varios editores disponibles, además del conocido editor "vi" propio de UNIX.

  • Editor vi.
    • Descripción: Editor propio de UNIX. Trabaja en modo texto, por lo que se puede invocar desde cualquier sesión telnet. Por compatibilidad, no utiliza el keypad propio y característico de cada uno de los teclados, por lo que tanto los comandos como el propio texto se han de introducir con las mismas teclas. Esto hace que sea un editor de difícil manejo. Sin embargo, sus ventajas son su estandarización y su potencia.
    • Comando: vi
    • Ayuda: man vi
  • Editor xedit.
    • Descripción: Trabaja en modo gráfico, gracias al entorno X-Windows. Esto implica la necesidad de tener un terminal o una emulación X-Windows. Sus capacidades no son grandes, debido a que es software de dominio público.
    • Comando: xedit
    • Ayuda: man xedit
  • Editor gedit.
    • Descripción: Trabaja en modo gráfico, gracias al entorno X-Windows. Esto implica la necesidad de tener un terminal o una emulación X-Windows.
    • Comando: gedit
    • Ayuda: man gedit

Aplicaciones

El Servicio de Cálculo Científico y Apoyo Estadístico , dispone de una serie de aplicaciones, tanto comerciales como de libre distribución. En cualquier caso, si algún usuario cree interesante o necesaria cualquier otra aplicación, se puede estudiar su adquisición: su compra, si es de tipo comercial, o su descarga de la red si es de tipo "free software".

  • Gaussian 98.
    • Descripción: Gaussian es un paquete para cálculo de estructura electrónica desarrollado por Gaussian Inc. tanto para correr en serial como en paralelo. Gaussian es capaz de realizar cálculos a diferentes niveles de teoría: ab-initio, semiempíricos, teoría del funcional de la densidad e interacción de configuración; permitiendo modelar sistemas químicos que van desde átomos hasta moléculas de muchos electrones, en estados base y excitados, en fase gaseosa o en solución
    • Comando: gaussian98
    • Página: http://www.gaussian.com/
  • Gaussian 03 EM64L-G03RevE.01.
    • Descripción: Gaussian es un paquete para cálculo de estructura electrónica desarrollado por Gaussian Inc. tanto para correr en serial como en paralelo. Gaussian es capaz de realizar cálculos a diferentes niveles de teoría: ab-initio, semiempíricos, teoría del funcional de la densidad e interacción de configuración; permitiendo modelar sistemas químicos que van desde átomos hasta moléculas de muchos electrones, en estados base y excitados, en fase gaseosa o en solución
    • Comando: gaussian03
    • Página: http://www.gaussian.com/
  • Gaussian 09 EM64L-G09RevA.02.
    • Descripción: Gaussian es un paquete para cálculo de estructura electrónica desarrollado por Gaussian Inc. tanto para correr en serial como en paralelo. Gaussian es capaz de realizar cálculos a diferentes niveles de teoría: ab-initio, semiempíricos, teoría del funcional de la densidad e interacción de configuración; permitiendo modelar sistemas químicos que van desde átomos hasta moléculas de muchos electrones, en estados base y excitados, en fase gaseosa o en solución
    • Comando: gaussian03
    • Página: http://www.gaussian.com/
  • Gaussview 5.0.8.
    • Descripción: GaussView is an affordable, full-featured graphical user interface for Gaussian 98. With GaussView you can construct molecular systems of interest quickly and efficiently using its molecule building facility. You can also set up and run Gaussian calculations right from the interface, and monitor their progress as they run. When a calculation has completed, you can use GaussView to examine a variety of results graphically via its advanced visualization facilities.:
    • Comando: gv (Gausview version 3.0)
    • Comando: gv2 (Gausview version 2.0)
    • Página: http://www.gaussian.com/
  • Orca 3.0
    • Descripción: ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.
    • Comando: orca
    • Página: http://www.thch.uni-bonn.de/tc/orca/index.php
  • MrBayes.
    • Descripción: MrBayes is a program for the Bayesian estimation of phylogeny. Bayesian inference of phylogeny is based upon a quantity called the posterior probability distribution of trees, which is the probability of a tree conditioned on the observations. The conditioning is accomplished using Bayes's theorem. The posterior probability distribution of trees is impossible to calculate analytically; instead, MrBayes uses a simulation technique called Markov chain Monte Carlo (or MCMC) to approximate the posterior probabilities of trees.
    • Comando: mb_sp (compilado para utilizar un solo procesador)
    • Comando: mb_mp (compilado para utilizar varios procesadores)
    • Ayuda: teclear help una vez dentro del programa
    • Pagina: http://mrbayes.csit.fsu.edu/
  • BEAST.
    • Descripción: BEAST (Bayesian Evolutionary Analysis Sampling Trees) is a cross-platform program for Bayesian MCMC analysis of molecular sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using strict or relaxed molecular clock models
    • Comando: beast
    • Ayuda: beast help
    • Página: http://beast.bio.ed.ac.uk/
  • Mopac.
    • Descripción: MOPAC is a general-purpose semi-empirical molecular orbital package for the study of chemical structures and reactions. The semi-empirical Hamiltonians MNDO, MINDO/3, AM1, and PM3 are used in the electronic part of the calculation to obtain molecular orbitals, the heat of formation and its derivative with respect to molecular geometry. Using these results MOPAC calculates the vibrational spectra, thermodynamic quantities, isotopic substitution effects and force constants for molecules, radicals, ions, and polymers. For studying chemical reactions, a transition-state location routine and two transition state optimizing routines are available. For users to get the most out of the program, they must understand how the program works, how to enter data, how to interpret the results, and what to do when things go wrong.
    • Comando: mopac
    • Página: http://openmopac.net/
  • Gap4.
    • Descripción: Gap4 is a Genome Assembly Program. The program contains all the tools that would be expected from an assembly program plus many unique features and a very easily used interface.
    • Comando: gap
    • Página: http://staden.sourceforge.net
Gestión de colas

El gestor de colas existente en los dos clusters es el programa Torque.

Ejemplos... $ qsub -l nodes=32 programa.exe (requerimos 32 nodos) $ qsub -l nodes=2:ppn=16 programa.exe (requerimos dos nodos cada uno con 16 CPUs. En total 32 CPUs) $ qsub -l nodes=xeon programa.exe (requerimos un nodo del tipo wn044) $ qsub -l nodes=xeon:ppn=16+nv:ppn=16 programa.exe (requerimos 16 nodos del tipo xeon y 16 del tipo nv)

  • Torque (OpenPBS)
    • Descripción: Software de gestión de colas, derivado del popular NQS. Permite la creación y gestión de colas de trabajos, no solamente en un determinado ordenador, sino en un conjunto de ordenadores. Se pueden crear colas del tipo batch, pipe o complex, en las cuales el destino de estas colas son a su vez colas individuales. Los parámetros que se pueden manejar en cada una de las colas son tales como tiempo máximo de CPU, tamaño de memoria, prioridad de las colas, numero de trabajos por cola, etc.
       
    • Comandos: los principales comandos son:
      • qsub: poner trabajos en cola de batch.
        $ qsub trabajo.exe 
      • qstat: visualización del status de la cola de batch
        $ qstat
      • qdel: elimina trabajos en cola de batch. El identificativo del trabajo que queremos eliminar nos lo da el comando qstat.

        $ qdel 3926.pbs_server_001

    • Colas: existe una cola generica denominada "batch". Es la cola por defecto por lo que no hay que especificar nombre de cola al lanzar un trabajo
       
    • Paralelización: para lanzar trabajos que necesiten varios nodos y/o varias unidades de cálculo , el comando es el siguiente:

    $ qsub -l nodes=N:X:ppn=Y trabajo.exe donde... N es el numero de nodos que solicitamos X es el tipo de nodo solicitado Y es el numero de procesadores por nodo no es necesario poner los tres valores, se puede poner uno de ellos, dos o los tres.

Problemas de conexión
Ante cualquier dificultad que surja en el servicio de cálculo científico, póngase en contacto con el servicio de atención al usuario de ÁTICA. Para agilizar su atención, le recomendamos que utilice la aplicación web:
  1. Aplicación web: http://dumbo.um.es
  2. dumbo@um.es
  3. WhatsApp:

    690 94 67 28

  4. o en la extensión

    42 22

    o en el número 868 88 42 22 si llama desde fuera de la Universidad de Murcia.

Acceso a la gestión de solicitud e incidencias

ATICA

Edificio 33. Campus Universitario de Espinardo. 30100 Murcia