Esta é unha revisión antiga do documento!
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.
Podes atopar máis exemplos no directorio `/optct/templates`.
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 #PBS -m n 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 #PBS -m n 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 #PBS -m n cd $PBS_O_WORKDIR export OMP_NUM_THREADS=64 ./executable