Estás aquí: start » centro » servizos » hpc » escribir_script » ejemplos

Exemplos de scripts

Esta é unha revisión antiga do documento!


>> Volver á páxina anterior

Exemplos de scripts

A continuación amósanse varios exemplos de scripts que amosan o conxunto básico de instrucións para o envío de diferentes tipos de traballos ao xestor de colas.

Exemplo de traballo secuencial:

#!/bin/bash
#PBS -l nodes=1:ppn=1,walltime=1:00:00
#PBS -N ejemplo
#PBS -o salida.out
#PBS -e salida.err
#PBS -m ae -M direccion_correo@usc.es
cd $PBS_O_WORKDIR
./executable

Exemplo de traballos secuenciais en paralelo:

#!/bin/bash
#PBS -l nodes=1:ppn=4,walltime=1:00:00
#PBS -N ejemplo
cd $PBS_O_WORKDIR
(cd dir1; ./executable1) &
(cd dir2; ./executable2) &
(cd dir3; ./executable3) &
(cd dir4; ./executable4) &
wait

Exemplo de traballo Java:

Java consome, por defecto, toda a memoria do sistema. Nun sistema compartido por diferentes usuarios é preciso limitar a cantidade de memoria asignada a cada proceso, polo que o tamaño do heap de Java en ctcomp2 está limitado ao 25 do límite de memoria da cola asignada ao proceso e, calquera caso, cun tamaño máximo de 8 GB.

Os usuarios poden utilizar outros tamaños de heap nos seus traballos se modifican, antes de executar JAVA, o valor da opción -Xmx de JAVA a través da variable _JAVA_OPTIONS. Por exemplo, se queremos que o heap teña 16 GB, o comando sería:

export _JAVA_OPTIONS=-Xmx16777216K

Ao modificar o tamaño do heap o usuario debe asegurarse, baixo a súa responsabilidade, que o conxunto de procesos que se estean executando concorrentemente no seu traballo non exceda o límite de memoria establecido na correspondente cola, xa que nese caso o traballo será cancelado automaticamente.

Os usuarios que executen nos seus traballos unha soa instancia de java (independentemente dos threads que execute) poderán aumentar o tamaño do heap, pero recoméndase que non sexa un valor próximo ao límite de memoria da correspondente cola.

#!/bin/bash
#PBS -l nodes=1:ppn=64,walltime=1:00:00
#PBS -N ej-java
cd $PBS_O_WORKDIR
module load jdk
export _JAVA_OPTIONS=-Xmx16777216K
java executable

Exemplo de traballo OpenMP:

#!/bin/bash
#PBS -l nodes=1:ppn=64,walltime=1:00:00
#PBS -N ej-openmp
cd $PBS_O_WORKDIR
export OMP_NUM_THREADS=64
./executable