Diferencias entre las revisiones 1 y 26 (abarca 25 versiones)
Versión 1 con fecha 2019-04-03 15:36:40
Tamaño: 48
Editor: FabioDuran
Comentario:
Versión 26 con fecha 2019-06-28 14:29:10
Tamaño: 5457
Editor: FabioDuran
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 1: Línea 1:
Escribe acerca de cluster/clustertalca3 aquí. <<Include(cluster/headers)>>

<<TableOfContents>>

== 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) ||


<<Include(cluster/acceso)>>

=== Software ===
El equipo tiene un sistema de colas llamado [[https://es.wikipedia.org/wiki/Simple_Linux_Utility_for_Resource_Management|SLURM]] que cumple la labor de organizar, priorizar los trabajos enviados por los usuarios.

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

==== Namd ====
La versión instalada es 2.13

===== Archivo SLURM NAMD =====
{{{#!Bash
#!/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
}}}
[[attachment:slurm-namd.sh|Descarga el archivo]]

[[https://www.ks.uiuc.edu/Research/namd/2.13/ug/node106.html|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:

 * /cm/share/apps/NAMD/2.13/CUDA-ib -> CUDA + Infiniband
 * /cm/share/apps/NAMD/2.13/CPU-ib -> NAMD sólo CPU + Infiniband

{{{
#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:

 * 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.
 * -set 'stage[1].set_family.md.jlaunch_opt=["-gpu"]' permite el uso de GPU.

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
}}}

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 de aplicaciones que existen en el cluster lo puede encontrar en el siguiente directorio: /cm/shared/apps

Namd

La versión instalada es 2.13

Archivo SLURM NAMD

#!/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:

  • /cm/share/apps/NAMD/2.13/CUDA-ib -> CUDA + Infiniband

  • /cm/share/apps/NAMD/2.13/CPU-ib -> NAMD sólo CPU + Infiniband

#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:

  • 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.
  • -set 'stage[1].set_family.md.jlaunch_opt=["-gpu"]' permite el uso de GPU.

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

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