[[ es:centro:servizos:hpc:escribir_script| >> 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. 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