Diferenzas

Isto amosa as diferenzas entre a revisión seleccionada e a versión actual da páxina.

Enlazar a esta vista de comparación

Both sides previous revisionPrevious revision
Next revision
Previous revision
centro:servizos:hpc:escribir_script:ejemplos [2017/10/06 13:31] diego.cougilcentro:servizos:hpc:escribir_script:ejemplos [2018/03/16 09:37] (actual) – [Exemplos de scripts] jorge.suarez
Liña 1: Liña 1:
-[[ es:centro:servizos:hpc:escribir_script| >> Volver a la página anterior ]]+[[ es:centro:servizos:hpc:escribir_script| >> Volver á páxina anterior ]]
  
 ====== Exemplos de scripts ====== ====== Exemplos de scripts ======
  
-A continuación se muestran varios ejemplos de scripts que muestran el conjunto básico de intrucciones para el envio de diferentes tipos de trabajos al gestor de colas.+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.
  
-==== Ejemplo de trabajo secuencial: ====+Podes atopar máis exemplos no directorio ''/optct/templates''
 + 
 +==== Exemplo de traballo secuencial: ====
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Liña 18: Liña 20:
  
  
-==== Ejemplo de trabajos secuenciales en paralelo: ====+==== Exemplo de traballos secuenciais en paralelo: ====
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
 #PBS -l nodes=1:ppn=4,walltime=1:00:00 #PBS -l nodes=1:ppn=4,walltime=1:00:00
 #PBS -N ejemplo #PBS -N ejemplo
 +#PBS -m n
 cd $PBS_O_WORKDIR cd $PBS_O_WORKDIR
 (cd dir1; ./executable1) & (cd dir1; ./executable1) &
Liña 32: Liña 35:
  
  
-==== Ejemplo de trabajo Java: ====+==== Exemplo de traballo Java: ====
  
-Java consume, por defecto, toda la memoria del sistema. En un sistema compartido por diferentes usuarios es necesario limitar la cantidad de memoria asignada a cada proceso, por lo que el tamaño del //heap// de Java en ''ctcomp2'' está limitado al 25 del límite de memoria de la cola asignada al proceso ycualquier caso, con un tamaño máximo de 8 GB. +Java consome, por defecto, toda memoria do sistema. Nun sistema compartido por diferentes usuarios é preciso limitar a cantidade de memoria asignada a cada proceso, polo que tamaño do //heap// de Java en ''ctcomp2'' está limitado ao 25 do límite de memoria da cola asignada ao proceso ecalquera caso, cun tamaño máximo de 8 GB. 
  
-Los usuarios pueden utilizar otros tamaños de //heap// en sus trabajos si modifican, antes de ejecutar JAVA, el valor de la opción -Xmx de JAVA a través de la variable ''_JAVA_OPTIONS''. Por ejemplosi queremos que el //heap// tenga 16 GB, el comando sería: +Os usuarios poden utilizar outros tamaños de //heap// nos seus traballos se modifican, antes de executar JAVA, valor da opción -Xmx de JAVA a través da variable ''_JAVA_OPTIONS''. Por exemplose queremos que //heap// teña 16 GB, comando sería: 
 <code bash> <code bash>
 export _JAVA_OPTIONS=-Xmx16777216K export _JAVA_OPTIONS=-Xmx16777216K
 </code> </code>
-Al modificar el tamaño del //heap// el usuario debe asegurarse, bajo su responsabilidad, que el conjunto de procesos que se estén ejecutando concurrentemente en su trabajo no sobrepase el límite de memoria establecido en la correspondiente cola, ya que en ese caso el trabajo será cancelado automáticamente.+Ao modificar tamaño do //heap// 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.
  
-Los usuarios que ejecuten en sus trabajos una sola instancia de java (independientemente de los threads que ejecute) podrán aumentar el tamaño del //heap//, pero se recomienda que no sea un valor cercano al límite de memoria de la correspondiente cola. 
  
  
Liña 50: Liña 54:
 #PBS -l nodes=1:ppn=64,walltime=1:00:00 #PBS -l nodes=1:ppn=64,walltime=1:00:00
 #PBS -N ej-java #PBS -N ej-java
 +#PBS -m n
 cd $PBS_O_WORKDIR cd $PBS_O_WORKDIR
 module load jdk module load jdk
Liña 59: Liña 64:
  
  
-==== Ejemplo de trabajo OpenMP: ====+==== Exemplo de traballo OpenMP: ====
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
 #PBS -l nodes=1:ppn=64,walltime=1:00:00 #PBS -l nodes=1:ppn=64,walltime=1:00:00
 #PBS -N ej-openmp #PBS -N ej-openmp
 +#PBS -m n
 cd $PBS_O_WORKDIR cd $PBS_O_WORKDIR
 export OMP_NUM_THREADS=64 export OMP_NUM_THREADS=64
Liña 69: Liña 75:
 </code> </code>
  
- 
- 
-==== Ejemplo de trabajo MPI: ==== 
- 
-<code bash> 
-#!/bin/bash 
-#PBS -l nodes=8:ppn=64,walltime=1:00:00 
-#PBS -N ej-mpi 
-cd $PBS_O_WORKDIR 
-module load openmpi 
-mpirun -np 512 ./executable 
-</code> 
- 
- 
- 
- 
-==== Ejemplo de trabajo R: ==== 
- 
-No es posible realizar una sesión R interactiva, por lo que es necesario escribir previamente los comandos en un script. 
- 
-<code bash> 
-#!/bin/bash 
-#PBS -l nodes=1:ppn=1,walltime=1:00:00 
-#PBS -N ej-R 
-cd $PBS_O_WORKDIR 
-module load R 
-R --no-save < test.R 
-</code> 
- 
- 
- 
-==== Ejemplo de trabajo MATLAB: ==== 
- 
-No es posible realizar una sesión MATLAB interactiva, por lo que es necesario escribir previamente los comandos en un script. MATLAB emplea internamente, y de manera transparente al usuario, threads para paralelizar ciertas operaciones, por lo que se puede utilizar reservando varios núcleos computacionales dentro de un mismo nodo. Sin embargo, en las versiones instaladas no es posible controlar esta característica, por lo que MATLAB utiliza todos los recursos del nodo asignado, independientemente de los recursos solicitados. Para evitar posibles cancelaciones debido a un uso indebido de los recursos asignados,  __se recomienda a los usuarios utilizar el paralelismo implícito de MATLAB solo cuando se reserve en exclusividad un nodo del clúster__. En cualquier otro caso, se recomienda solicitar únicamente un núcleo computacional y utilizar la opción ''-singleCompThread'', que desactiva el paralelismo implícito de MATLAB para realizar una ejecución secuencial. En este ejemplo, el nombre del script es ''test.m''. 
- 
-<code bash> 
-#!/bin/bash 
-#PBS -l nodes=1:ppn=1,walltime=1:00:00 
-#PBS -N ej-MATLAB 
-cd $PBS_O_WORKDIR 
-module load matlab 
-matlab -r test -nodisplay -nojvm -singleCompThread 
-# -r:         indicar el fichero a ejecutar (sin .m) 
-# IMPORTANTE: incluir la orden quit al final del fichero 
-# -nodisplay: sin display X. 
-# -nosplash:  sin pantalla inicial (OPCIONAL) 
-# -nojvm:     sin entorno java (OPCIONAL) 
-# -singleCompThread: ejecuta MATLAB secuencialmente 
-</code>