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:37] – 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 ==== | ==== 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 '' | 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 '' | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Línea 130: | Línea 130: | ||
</ | </ | ||
+ | ===== Scritps de ejemplo ===== | ||
+ | Hay numerosos ejemplos de scripts para diversos lenguajes de programación en [[ es: | ||
- | ==== 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: | ||
- | </ |