Inicio

Clustertalca:

Características:

Nombre

Clustertalca3 (GPU)

Marca

Supermicro

Modelo

SSG-6048R-E1CR24N

Nodos

9 (8 esclavos y 1 cabecera)

Procesadores disponibles

256

GPU por nodo

2 * 16 Tesla K80 y 6 * 8 Geforce GTX 1080 Ti

Total GPU

80

Procesadores por nodo disponibles

32

Disco Total (headnode)

30 TB

Memoria distriuida Total (nodos)

1 TB

Red

56 Gb/sec (4X FDR)

Red

Ethernet 1 Gbps

IP

10.1.1.103

Nodos Master (s)

1

Nodos Esclavos

8

Nodos totales

9

Sistema Operativo

CentOS Linux release 7.5

Nodos disponibles

Nodos

1 - 6

hostname

node001, node002, node003, node004, node005, node006

Procesadores por nodo

2 x 16

CPU

Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz

Memoria por nodo

128 GB

Disco Duro

1 TB SATA 3.1, 6.0 Gb/s 7200 RPM

GPU

8 x NVIDIA Corporation GP102 GeForce GTX 1080 Ti (rev a1)

Nodos

7 - 8

hostname

node007, node008

Procesadores por nodo

2 x 16

CPU

Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz

Memoria por nodo

128 GB

Disco Duro

1 TB SATA 3.1, 6.0 Gb/s 7200 RPM

GPU

16 x NVIDIA Corporation GK210GL [Tesla K80] (rev a1)

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 SSH, pudiendo utilizar tú cliente SSH favorito.

Para el caso se encuentre localizado al interior de la Escuela de Ingeniería Civil en Bioinformática, la forma de conectar sería del siguiente modo:

ssh user@ip-servidor

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

La utilización SSH junto a ProxyCommand 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@alias-servidor:

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 SLURM que cumple la labor de organizar, priorizar los trabajos enviados por los usuarios.

El listado completo de aplicaciones que existen en el cluster lo puede encontrar en el siguiente directorio: /cm/shared/apps

En el caso de requerir una versión en particular puede instalar en su espacio personal y cambiar las variables de entorno del sistema para que sea visualizada la aplicación y sus dependencias

export PATH=NEW_PATH:$PATH

export LD_LIBRARY_PATH=NEW_LIBRARY_PATH:$LD_LIBRARY_PATH

En donde:

Esto también lo debe conocer SLURM, por lo que se debe agregar al script a ejecutar.

Namd

La versión instalada es 2.13y 2.14 y están ubicadas en su propio directorio en la ruta de: /cm/shared/apps/NAMD/

Existen las variantes de NAMD para uso de solo GPU, GPU + Infiniband y CPU + Infiniband.

Archivo SLURM NAMD utilizando NAMD 2.13

#!/bin/sh
#SBATCH --job-name namd
#SBATCH -o slurm-gpu-job.out
#SBATCH -p defq
#SBATCH --gres=gpu:2
#SBATCH --ntasks=12
#SBATCH --time 36:00:00
#SBATCH --error=error.log
#SBATCH --output=output
# choose version of NAMD to use
# VERSION=2.13
NAMD_DIR=/cm/shared/apps/NAMD/2.13/CUDA

# execute

##################################################################
#CONFIG: change this
jobcfg=<entrada>
jobout=<salida>
#END CONFIG
##################################################################
${NAMD_DIR}/namd2 +idlepoll +p $SLURM_NTASKS ${jobcfg} +isomalloc_sync >& ${jobout}

wait

Descarga el archivo

Información NAMD GPU

Importante

Fijarse en las lineas del archivo slurmnamd.sh

#SBATCH --ntasks=32

Esta indica la cantidad de procesadores a utilizar, en este caso se utilizarán 32 procesadores

#SBATCH --gres=gpu:2

Con está linea indica la cantidad de GPU a utilizar, para el caso serían 2

#SBATCH --time 36:00:00

Esta linea indica el tiempo total de ejecución (horas, minutos, segundos) para este caso el tiempo máximo de ejecución es de 36 horas.

jobcfg=<entrada>
jobout=<salida>

La entrada y la salida del trabajo a realizar

NAMD_DIR=/cm/share/apps/NAMD/2.13/CUDA

Esta linea indica la versión de NAMD a utilizar, en este caso seria la 2.13. Otras opciones para utilizar:

#SBATCH -w node001

En caso de necesitar distribuir un trabajo en un nodo en particular, agregar la linea anterior en donde node001 referencia al nodo1. Los nodos disponibles van desde node00[1-8]

La ejecución

Una vez editado el archivo slurmnamd.sh procedemos a ejecutar utilizando el comando sbatch

sbatch slurmnamd.sh

Y podemos hacer el seguimiento utilizando el comando squeue

squeue

Desmond Schrodinger

Se encuentra instalado la versión 2018.1 y 2019.1 en el directorio /cm/shared/apps/desmond/

Ejecutar

Primero y muy importante para la ejecución es exportar la variable de entorno SCHRODINGER para la sesión:

export SCHRODINGER=/cm/shared/apps/desmond/<version>

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 <nombre_trabajo> -HOST bright81 -maxjob 0 -cpu <total_cpu> -m <entrada.msj> -c <archivo_configuracion.cfg> -o <salida>.cms <archivo-cms>.cms -mode umbrella -set 'stage[1].set_family.md.jlaunch_opt=["-gpu"]' -ATTACHED

En donde:

Importante es saber que Schrodinger desmond solo permite el uso de una GPU.

Ejecutado la linea anterior podemos hacer el seguimiento utilizando el comando squeue

squeue

Amber

Se encuentra instalado la versión 16 y 20 de Amber

Ejecutar Amber 20

Para poder ejecutar de un modo correcto Amber se recomienda realizarlo mediante el siguiente script

GPU

#!/bin/bash
#SBATCH --output=sout.%j
#SBATCH --error=error.%j
#SBATCH --time=504:00:00
#SBATCH -n 16
#SBATCH --gres=gpu:1

# unload default modules
unset AMBERHOME
module purge > /dev/null 2>&1

# load modules
module load amber/20
module load cuda10.0/toolkit/10.0.130
module load gcc/6.5.0

# RUN GPU
$AMBERHOME/bin/pmemd.cuda -O -i mdin.GPU -o mdout -p ../Topologies/Cellulose.prmtop -c ../Coordinates/Cellulose.inpcrd

El script anterior está preparado para correr con 16 CPU y 1 GPU, si se desea cambiar la configurar de CPU se debe editar el parámetro de -n (#SBATCH -n 16) por el número deseado.

El número de GPU siempre será 1.

MULTI-GPU

#!/bin/bash
#SBATCH --output=sout.%j
#SBATCH --error=error.%j
#SBATCH --time=504:00:00
#SBATCH -n 16
#SBATCH --gres=gpu:2

# unload default modules
unset AMBERHOME
module purge > /dev/null 2>&1

# load modules
module load amber/20
module load cuda10.0/toolkit/10.0.130
module load gcc/6.5.0

N_GPU=`echo ${SLURM_JOB_GPUS//,}|awk -F, '{print length}'`
echo $N_GPU

# RUN GPU
srun -n $N_GPU $AMBERHOME/bin/pmemd.cuda -O -i mdin.GPU -o mdout -p ../Topologies/Cellulose.prmtop -c ../Coordinates/Cellulose.inpcrd

El script anterior está preparado para correr con 16 CPU y 2 GPU, si se desea cambiar la configurar de CPU se debe editar el parámetro de -n (#SBATCH -n 16) por el número deseado.

Para utilizar multiple GPU debe editar el parámetro de #SBATCH --gres=gpu:2 en donde el número 2 debe ser reemplazado por el número deseado y en la instrucción de srun -n indicará el número de GPU a utilizar.

CPU

#!/bin/bash
#SBATCH --output=sout.%j
#SBATCH --error=error.%j
#SBATCH --time=504:00:00
#SBATCH -n 16
#SBATCH --gres=gpu:1

# unload default modules
unset AMBERHOME
module purge > /dev/null 2>&1

# load modules
module load amber/20
module load cuda10.0/toolkit/10.0.130
module load gcc/6.5.0

# RUN CPU
mpirun $AMBERHOME/bin/pmemd.MPI -O -i mdin.CPU -o mdout -p ../Topologies/Cellulose.prmtop -c ../Coordinates/Cellulose.inpcrd

El script anterior está preparado para correr con 16 CPU, si se desea cambiar la configurar de CPU se debe editar el parámetro de -n (#SBATCH -n 16) por el número deseado.

Ejecutar Amber 16

Para poder ejecutar de un modo correcto Amber se recomienda realizarlo mediante el siguiente script

GPU

#!/bin/bash
#SBATCH --output=sout.%j
#SBATCH --error=error.%j
#SBATCH --time=504:00:00
#SBATCH -n 16
#SBATCH --gres=gpu:1


# load modules

# RUN GPU
$AMBERHOME/bin/pmemd.cuda -O -i mdin.GPU -o mdout -p ../Topologies/Cellulose.prmtop -c ../Coordinates/Cellulose.inpcrd

El script anterior está preparado para correr con 16 CPU y 1 GPU, si se desea cambiar la configurar de CPU se debe editar el parámetro de -n (#SBATCH -n 16) por el número deseado.

El número de GPU siempre será 1.

CPU

#!/bin/bash
#SBATCH --output=sout.%j
#SBATCH --error=error.%j
#SBATCH --time=504:00:00
#SBATCH -n 16
#SBATCH --gres=gpu:1

# RUN CPU
mpirun $AMBERHOME/bin/pmemd.MPI -O -i mdin.CPU -o mdout -p ../Topologies/Cellulose.prmtop -c ../Coordinates/Cellulose.inpcrd

El script anterior está preparado para correr con 16 CPU, si se desea cambiar la configurar de CPU se debe editar el parámetro de -n (#SBATCH -n 16) por el número deseado.

Referencia: https://www.nvidia.com/es-la/data-center/gpu-accelerated-applications/amber/

cluster/clustertalca3 (última edición 2021-09-08 15:01:22 efectuada por FabioDuran)