Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| es:centro:servizos:hpc:escribir_script [2016/02/12 16:19] – [Parámetros PBS] fernando.guillen | es:centro:servizos:hpc:escribir_script [2017/10/09 10:27] (actual) – [Variables de entorno durante la ejecución] diego.cougil | ||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| === Compilación C/ | === Compilación C/ | ||
| - | La colección de compiladores GNU (GNU Compiler Collection, GCC) es accesible en el clúster a través de sus comandos y opciones habituales. Por defecto, los compiladores instalados en el sistema pertenecen a la versión 4.7.2 de GCC (versión por defecto del SO).((Esta versión de los compiladores disponen de una opción de optimización ('' | + | La colección de compiladores GNU (GNU Compiler Collection, GCC) es accesible en el clúster a través de sus comandos y opciones habituales. Por defecto, los compiladores instalados en el sistema pertenecen a la versión 4.9.2 de GCC (versión por defecto del SO).((Esta versión de los compiladores disponen de una opción de optimización ('' |
| <code bash> | <code bash> | ||
| Línea 47: | Línea 47: | ||
| El comando '' | El comando '' | ||
| - | La gestion, a nivel de usuario, de los módulos se realiza con el comando '' | + | La gestión, a nivel de usuario, de los módulos se realiza con el comando '' |
| <code bash> | <code bash> | ||
| Línea 61: | Línea 61: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| Línea 69: | Línea 69: | ||
| Se recomienda utilizar este comando de **manera interactiva**. Su uso dentro de '' | Se recomienda utilizar este comando de **manera interactiva**. Su uso dentro de '' | ||
| - | Se recomienda **utilizar las versiones por defecto de los difentes | + | Se recomienda **utilizar las versiones por defecto de los diferentes |
| + | |||
| + | ==== Variables de entorno durante la ejecución ==== | ||
| + | Por defecto, el entorno de ejecución del sistema Torque/PBS define algunas variables de entorno que pueden ser utilizadas dentro de los scripts (lista completa en el MAN de '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Además cualquier variable exportada desde el script de lanzamiento del trabajo estará disponible en el entorno de ejecución. | ||
| ===== Escribir el script ===== | ===== Escribir el script ===== | ||
| Línea 121: | Línea 130: | ||
| </ | </ | ||
| - | ==== Variables | + | ===== Scritps |
| - | Por defecto, el entorno de ejecución del sistema Torque/PBS define algunas variables de entorno que pueden ser utilizadas dentro de los scripts (lista completa en el MAN de '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | Además cualquier variable que exportemos desde el script | + | Hay numerosos ejemplos |
| - | ==== Ejemplos 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. | ||
| - | |||
| - | === Ejemplo de trabajo secuencial: === | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ejemplo | ||
| - | #PBS -o salida.out | ||
| - | #PBS -e salida.err | ||
| - | #PBS -m ae -M direccion_correo@usc.es | ||
| - | cd $PBS_O_WORKDIR | ||
| - | ./ | ||
| - | </ | ||
| - | |||
| - | |||
| - | === Ejemplo de trabajos secuenciales en paralelo: === | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ejemplo | ||
| - | cd $PBS_O_WORKDIR | ||
| - | (cd dir1; ./ | ||
| - | (cd dir2; ./ | ||
| - | (cd dir3; ./ | ||
| - | (cd dir4; ./ | ||
| - | wait | ||
| - | </ | ||
| - | |||
| - | |||
| - | === Ejemplo de trabajo 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 '' | ||
| - | |||
| - | 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 '' | ||
| - | <code bash> | ||
| - | export _JAVA_OPTIONS=-Xmx16777216K | ||
| - | </ | ||
| - | Al modificar el tamaño del //heap// el usuario debe asegurarse, bajo su responsabilidad, | ||
| - | |||
| - | 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. | ||
| - | |||
| - | |||
| - | |||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ej-java | ||
| - | cd $PBS_O_WORKDIR | ||
| - | module load jdk | ||
| - | export _JAVA_OPTIONS=-Xmx16777216K | ||
| - | java executable | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | === Ejemplo de trabajo OpenMP: === | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ej-openmp | ||
| - | cd $PBS_O_WORKDIR | ||
| - | export OMP_NUM_THREADS=64 | ||
| - | ./ | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | === Ejemplo de trabajo MPI: === | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=8: | ||
| - | #PBS -N ej-mpi | ||
| - | cd $PBS_O_WORKDIR | ||
| - | module load openmpi | ||
| - | mpirun -np 512 ./ | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | === Ejemplo de trabajo R: === | ||
| - | |||
| - | No es posible realizar una sesión R interactiva, | ||
| - | |||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ej-R | ||
| - | cd $PBS_O_WORKDIR | ||
| - | module load R | ||
| - | R --no-save < test.R | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | === Ejemplo de trabajo MATLAB: === | ||
| - | |||
| - | No es posible realizar una sesión MATLAB interactiva, | ||
| - | |||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | #PBS -l nodes=1: | ||
| - | #PBS -N ej-MATLAB | ||
| - | cd $PBS_O_WORKDIR | ||
| - | module load matlab | ||
| - | matlab -r test -nodisplay -nojvm -singleCompThread | ||
| - | # -r: | ||
| - | # IMPORTANTE: incluir la orden quit al final del fichero | ||
| - | # -nodisplay: sin display X. | ||
| - | # -nosplash: | ||
| - | # -nojvm: | ||
| - | # -singleCompThread: | ||
| - | </ | ||