<> <> == Clustertalca: == === Características: === ''' ''' ||Nombre ||Clustertalca1 || ||Marca ||HP || ||Modelo ||Blade BL-460c || ||Procesadores disponibles ||256 || ||Procesadores por nodo disponibles ||8 || ||Disco Total ||2.3 TB || ||Memoria Total ||480 GB || ||Red ||Infiniband 4X DDR 2.5 Gbps || ||Red ||Ethernet 1 Gbps || ||IP ||10.1.1.101 || ||Nodos Master (s) ||1 || ||Nodos Esclavos ||32 || ||Nodos totales ||33 || ||Sistema Operativo ||Rock Cluster 5.4 /Centos 5.5 || [[cluster/clustertalca/detalleequipos|Detalle de equipos]] Clustertalca es la primera supercomputadora de la escuela de Ingeniería Civil en Bioinformática. En la actualidad esta destinado principalmente para la ejecución de cálculos de simulación molecular usando aplicaciones como [[http://www.ks.uiuc.edu/Research/namd/|NAMD]], [[https://www.deshawresearch.com/resources_desmond.html|Desmond (Schrodinger)]] y [[http://lammps.sandia.gov/|Lammps]]. === Acceso === Para lograr acceso primero debe enviar una solicitud al director de Escuela con copia al Administrador de Sistemas de la escuela, en donde se especifíque las razones del requerimiento. Una vez aprobada la generación de la cuenta se le entregarán las credenciales (usuario y contraseña) para la utilización y un par de recomendaciones extras. Tenga presente que el acceso a esta supercomputadora es mediante el protocolo [[https://es.wikipedia.org/wiki/Secure_Shell|SSH]], pudiendo utilizar su cliente SSH favorito. Para el caso se encuentre localizado al interior de la Escuela de Ingeniería Civil en Bioinformática (red 10.1.1.0/24), la forma de conectar sería del siguiente modo: {{{ ssh user@10.1.1.101 }}} Pero si se está fuera de las dependencias de la escuela de Ingeniería en bioinformática, se debe solicitar también el acceso al servidor bioinfo.utalca.cl. Una vez han sido entregado los permisos a bioinfo, se recomienda utilizar Proxycommand de SSH. Para su comprensión de uso puede visitar el link https://srvbioinf1.utalca.cl/wiki/cluster/ssh-proxycommand Ahora la utilización de SSH hacia los equipos cluster se verá más simpleficada. Un ejemplo sería el caso de necesitar realizar un copiado de datos mediante scp solo se tendría que hacer: {{{ scp fichero.local user@clustertalca: }}} No olvidar que después del dos puntos (:) va en referencia al directorio personal ($HOME) del usuario. === Software === El equipo tiene un sistema de colas llamado [[https://en.wikipedia.org/wiki/TORQUE|PBS (Toque)]] que cumple la labor de organizar, priorizar los trabajos enviados por los usuarios. ==== NAMD ==== Actualmente se encuentran instaladas las versiones 2.7, 2.8, 2.9, 2.10, 2.11, 2.12 todos ubicados en el directorio ''/share/apps/namd/ '' ===== Archivo PBS NAMD ===== Para ejecutar NAMD debe utilizar un archivo pbs tal cual: {{{#!bash #PBS -l nodes=8:ppn=8 #PBS -q talca1 #PBS -l walltime=3:00:00:00 ################################################################## #CONFIG: change this jobcfg= #INPUT jobout= #OUTPUT #END CONFIG ################################################################## # # don't touch unless you know what you are doing cd ${PBS_O_WORKDIR} numprocs=0 tmpfile=nodelist cat ${PBS_NODEFILE} | sed -e s/compute/compute-IB/ | sed -e s/$/.ipoib/g > pbsnodefile rm -f ${tmpfile} echo group main >> ${tmpfile} for s in `sort < pbsnodefile ` do echo "host ${s} ++shell ssh" >> ${tmpfile} ; numprocs=`expr ${numprocs} + 1`; done : # NAMD EXECUTION # NAMD 2.12 #/share/apps/namd/2.12/charmrun /share/apps/namd/2.12/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # NAMD 2.11 #/share/apps/namd/2.11/charmrun /share/apps/namd/2.11/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # NAMD 2.10 #/share/apps/namd/2.10/charmrun /share/apps/namd/2.10/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} NAMD 2.9 /share/apps/namd/2.9/charmrun /share/apps/namd/2.9/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} #NAMD 2.8 #/share/apps/namd/2.8/charmrun /share/apps/namd/2.8/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} #NAMD 2.7 #/share/apps/namd/2.7/charmrun /share/apps/namd/2.7/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # preserve exit status and clean up status=$? exit ${status} done }}} [[attachment:NAMD.pbs|Descargar fichero]] Se recomienda utilizar la versión 2.9. ===== Importante ===== Fijarse en las lineas del archivo NAMD.pbs {{{ #PBS -l nodes=8:ppn=8 }}} Esta indica la cantidad de nodos a utilizar (nodes) y procesadores por nodo (ppn) para este caso se utilizarán 8 nodos con 8 procesadores dando un total de uso de 64 procesadores para procesamiento en paralelo. {{{ #PBS -l walltime=3:00:00:00 }}} Esta linea indica el tiempo total de ejecución (dia, horas, minutos, segundos) para este caso el tiempo máximo de ejecución es de 3 días. {{{ jobcfg= #INPUT jobout= #OUTPUT }}} La entrada y la salida del trabajo a realizar {{{ # NAMD EXECUTION # NAMD 2.12 #/share/apps/namd/2.12/charmrun /share/apps/namd/2.12/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # NAMD 2.11 #/share/apps/namd/2.11/charmrun /share/apps/namd/2.11/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # NAMD 2.10 #/share/apps/namd/2.10/charmrun /share/apps/namd/2.10/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} NAMD 2.9 /share/apps/namd/2.9/charmrun /share/apps/namd/2.9/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} #NAMD 2.8 #/share/apps/namd/2.8/charmrun /share/apps/namd/2.8/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} #NAMD 2.7 #/share/apps/namd/2.7/charmrun /share/apps/namd/2.7/namd2 +p${numprocs} ++nodelist nodelist ${jobcfg} > ${jobout} # preserve exit status and clean up }}} La anterior refiere a la versión de NAMD a utilizar, para el caso será 2.9, fijarse que al inicio de cada linea existe un # que indica que la linea está comentada u omitida, por lo que el gestor de colas obviará la linea con ese símbolo. ===== La ejecución ===== Una vez editado el archivo NAMD.pbs procedemos a ejecutar utilizando el comando qsub {{{ qsub NAMD.pbs }}} Y podemos hacer el seguimiento utilizando el comando showq {{{ showq }}} ==== Desmond Schrodinger ==== Se encuentra instalado la versión 2011, 2012, 2013 y 2014 en el directorio /share/apps/desmond/ ===== Ejecutar ===== Primero y muy importante para la ejecución es exportar la variable de entorno SCHRODINGER para la sesión: {{{ export SCHRODINGER=/share/apps/desmond/ }}} en donde "version" será la versión a ejecutar. El siguiente paso es pasar la linea que se obtiene del archivo cfg (se genera al crear las condiciones de la simulación) y adaptarlo al cluster {{{ $SCHRODINGER/utilities/multisim -JOBNAME -HOST schrodinger -maxjob 0 -cpu -m -c -o .cms .cms -mode umbrella }}} En donde: * nombre_trabajo refiere al nombre que usaremos para identificar en PBS * total_cpu es el total de CPU para el trabajo, puede ser del modo "4 4 4" (simplemente explicado como 4x4x4=64) o del modo "64". * entrada.msj, archivo_configuracion.cfg salida.cms, archivo-cms, son todos archivos necesarios de SCHRODINGER Desmond. * El -mode umbrella es muy importante, puesto a que este parámetro le dice a la aplicación se que ejecutará en modo paralelo. Ejecutado la linea anterior podemos hacer el seguimiento utilizando el comando showq {{{ showq }}} ==== LAMMPS ==== Se encuentra instalado la versión lanzada el 16 de febrero de 2016. ===== Archivo lammps.pbs ===== {{{#!Bash #!/bin/bash #PBS -q talca1 #PBS -l nodes=2:ppn=8 #PBS -l walltime=3:00:00:00 #PBS -V INPUT_JOB=lammps.ini # don't touch unless you know what you are doing export EXEC=/share/apps/lammps/src/lmp_mpi #export WORKDIR=$PBS_O_WORKDIR #export NPROCS=`wc -l $PBS_NODEFILE |gawk '//{print $1}'` cd ${PBS_O_WORKDIR} numprocs=0 tmpfile=nodelist cat ${PBS_NODEFILE} | sed -e s/compute/compute-IB/ | sed -e s/$/.ipoib/g > pbsnodefile rm -f ${tmpfile} echo group main >> ${tmpfile} for s in `sort < pbsnodefile ` do echo "host ${s} ++shell ssh" >> ${tmpfile} ; numprocs=`expr ${numprocs} + 1`; done : date #Execute line #mpirun -np ${numprocs} ${EXEC} -in ${INPUT_JOB} >salida.out mpirun -hostfile $PBS_NODEFILE -n ${numprocs} ${EXEC} -in ${INPUT_JOB} #mpiexec ${EXEC} -in ${INPUT_JOB} 2>&1 # preserve exit status and clean up date exit 0 done }}} [[attachment:lammps.pbs|Descargar fichero]] ===== Importante ===== Fijarse en las lineas del archivo lammps.pbs {{{ #PBS -l nodes=8:ppn=8 }}} Esta indica la cantidad de nodos a utilizar (nodes) y procesadores por nodo (ppn) para este caso se utilizarán 8 nodos con 8 procesadores dando un total de uso de 64 procesadores para procesamiento en paralelo. {{{ #PBS -l walltime=3:00:00:00 }}} Esta linea indica el tiempo total de ejecución (dia, horas, minutos, segundos) para este caso el tiempo máximo de ejecución es de 3 días. {{{ INPUT_JOB=lammps.ini }}} La entrada del archivo para lammps {{{ mpirun -hostfile $PBS_NODEFILE -n ${numprocs} ${EXEC} -in ${INPUT_JOB} }}} Esta linea permite la ejecución de lammps en paralelo.