--
AdminUser - 02 Dec 2024
Ejecutar Cp2k en una sesion Interactiva con salloc
Otra Documentacion:
https://wikicecc.unal.edu.co/bin/view/HPC/TrabajosInteractivos
En este ejemplo se ejecuta una sesion interactiva para depurar, usando el comando salloc que; primero ubicara y asignara los recursos.
1. use salloc para usar un(1) nodo del cluster
fisica por 30 minutos y ejecutar una(1) tarea en la particion "cpu.cecc"
| | salloc --cluster=fisica --partition=cpu.cecc --nodes=1 --ntasks=1 --mem=10G --time=00:30:00 |
Container CUDA: /localapps/cp2k_2024.3_openmpi_generic_cuda_P100_psmp.sif
Container CPU: /localapps/cp2k_2024.3_openmpi_skylake-avx512_psmp.sif
dataset H2O -dft-ls.NREP4 : wget https://raw.githubusercontent.com/cp2k/cp2k/v7.1.0/benchmarks/QS_DM_LS/H2O-dft-ls.NREP4.inp
2. Con ssh ingrese al nodo asignado
3. Una vez ha ingresado al nodo asignado, ejecute singularity para usar una shell en el container:
| | singularity shell /localapps/cp2k_2024.3_openmpi_skylake-avx512_psmp.sif |
Video:
Ejecutar Cp2k en un envio por lotes sbatch: cp2k con CPU
En este ejemplo se enviar un trabajo que usa 32 CPU, 40Gb de RAM, por un tiempo Maximo de 1 hora
Procedimiento:
1. En un Directorio Nuevo coloque todos los datos a procesar.
2. En el Directorio con sus datos genere un script con las lineas:
#!/bin/bash
#SBATCH --job-name=cp2test #Nombre del Trabajo
#SBATCH --cluster=qteorica #nombre de los clusteres a donde envia a procesar
#SBATCH --partition=rack #Particion a usar(puede ser: cpu.cecc o gpu.cecc)
##SBATCH --time=01:00:00 #Tiempo que usara los recursos(--time=DD-:HH:MM:SS)
#SBATCH --nodes=1 #Numbero de nodos a usar
#SBATCH --ntasks=32 #CPU por tarea >1 si usa multihilado(threads)
#SBATCH --mem=40G #Total de memoria RAM por nodo en Gbytes
#SBATCH --output=/homes/qteorica/localquimica/cp2test_%j.out #archivo salida estandar(seguimi>
#SBATCH --error=/homes/qteorica/localquimica/cp2test_%j.err #archivo salida de Errores
###SBATCH --mail-type=begin #Send email when job begins
###SBATCH --mail-type=end #Send email when job ends
###SBATCH --mail-user=user@unal.edu.co
#SBATCH --export=SCRATCH_DIR=/scratch/$SLURM_JOB_ACCOUNT/$SLURM_JOB_USER/$SLURM_JOB_ID
export OMP_NUM_THREADS=8 ##es el numero de hilos
unset SINGULARITY_BINDPATH
export SINGULARITY_BINDPATH="/scratch:/scratch"
cd $SCRATCH_DIR
srun --mpi=pmix_v4 -N 1 -n 4 /usr/local/bin/singularity run /localapps/cp2k_2024.3_openmpi_skylake-avx512_psmp.sif cp2k H2O-dft-ls.NREP4.inp 2>&1 >>cp2k.log.txt
3. Envie a procesar con:
| sbatch script.sh |
4. Verifique en la cola de procesamiento con squeue
Video:
cp2k.lorLotesCPU.mkv
Ejecutar Cp2k en un envio por lotes sbatch: cp2k con GPU
1. En un Directorio Nuevo coloque todos los datos a procesar.
2. En el Directorio con sus datos genere un script con las lineas:
#!/bin/bash
#SBATCH --job-name=cp2test #Nombre del Trabajo
#SBATCH --cluster=qteorica #nombre de los clusteres a donde envia a procesar
#SBATCH --partition=rack #Particion a usar(puede ser: cpu.cecc o gpu.cecc)
##SBATCH --time=01:00:00 #Tiempo que usara los recursos(--time=DD-:HH:MM:SS)
#SBATCH --nodes=1 #Numero de nodos a usar
#SBATCH --gres=gpu:1 #Numero de GPU a usar en el nodo
#SBATCH --ntasks=16 #CPU por tarea >1 si usa multihilado(threads)
#SBATCH --mem=40G #Total de memoria RAM por nodo en Gbytes
#SBATCH --output=/homes/qteorica/localquimica/cp2test_%j.out #archivo salida estandar(seguimi>
#SBATCH --error=/homes/qteorica/localquimica/cp2test_%j.err #archivo salida de Errores
###SBATCH --mail-type=begin #Send email when job begins
###SBATCH --mail-type=end #Send email when job ends
###SBATCH --mail-user=juagudeloo@unal.edu.co
#SBATCH --export=SCRATCH_DIR=/scratch/$SLURM_JOB_ACCOUNT/$SLURM_JOB_USER/$SLURM_JOB_ID
#NOTA:To control the number of OpenMP threads, set the env variable OMP_NUM_THREADS
# Now, if you need to balance between MPI and OpenMP, you should use the executable
# mpirun -n 2 cp2k -i inp.inp -o -out.out : but with "slurm" exec "srun -n 2"
export OMP_NUM_THREADS=1 ##es el numero de hilos
unset SINGULARITY_BINDPATH
export SINGULARITY_BINDPATH="/scratch:/scratch,/home:/home"
cd $SCRATCH_DIR
srun --mpi=pmix_v4 -N 1 -n 1 /usr/local/bin/singularity exec --nv /localapps/cp2k_2024.3_openmpi_generic_cuda_P100_psmp.sif cp2k H2O-dft-ls.NREP4.inp 2>&1 >>cp2k.log.txt
3. Envie a procesar con:
|
sbatch script.sh |
4. Verifique en la cola de procesamiento con squeue