Changes between Version 8 and Version 9 of SMG
- Timestamp:
- Mar 2, 2016 2:09:46 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SMG
v8 v9 35 35 36 36 == Práctica 2 == 37 Una vez enviado nuestro primer job, ejecutaremos un job de tipo openMP usando el código del programa [http://moodle.unican.es/ moodle27/pluginfile.php/96708/mod_resource/content/0/HelloWorldOpenMP.c HelloWorldOpenMP].37 Una vez enviado nuestro primer job, ejecutaremos un job de tipo openMP usando el código del programa [http://moodle.unican.es/pluginfile.php/129616/mod_resource/content/0/omp_hello.c HelloWorldOpenMP]. 38 38 39 * Haciendo uso del programa '''module''' cargar el compilador ''gcc'': 40 {{{ 41 [user@login1 ~]$ module load gcc 42 load gcc/4.6.3 (PATH, MANPATH, LD_LIBRARY_PATH) 43 }}} 44 45 * Compilar el programa ''HelloWorldOpenMP.c'' y generar un ejecutable con el nombre ''HelloWorldOpenMP'': 39 * Haciendo uso del compilador ''gcc'', compilar el programa ''HelloWorldOpenMP.c'' y generar un ejecutable con el nombre ''HelloWorldOpenMP'': 46 40 {{{ 47 [user@ login1~]$ gcc HelloWorldOpenMP.c -fopenmp -o HelloWorldOpenMP41 [user@ui ~]$ gcc HelloWorldOpenMP.c -fopenmp -o HelloWorldOpenMP 48 42 }}} 49 43 … … 65 59 ./HelloWorldOpenMP 66 60 }}} 67 Más información sobre las variables de entorno (${SLRUM_*}) en el [http://slurm.schedmd.com/sbatch.html#SECTION_OUTPUT%20ENVIRONMENT%20VARIABLES link]. 68 61 69 62 * Envió del job openMP: 70 63 {{{ … … 76 69 77 70 * Una vez finalizado el job, compruebe el resultado obtenido en los ficheros '''output''' (openmp_%j.out) y '''error''' (openmp_%j.err). ¿ El resultado obtenido es el esperado? ¿Por qué?. 78 79 == Práctica 3 == 80 Repita el envío del job de la práctica 3 modificando el número de ''threads'' a ejecutar, pero sin modificar la variable ''total_tasks''. Para ello, utilice la variable de entorno `OMP_NUM_THREADS`. 81 * La plantilla a utilizar en ese caso será: 82 {{{ 83 #!/bin/bash 84 #@ job_name = openmp_%j 85 #@ initialdir = . 86 #@ output = openmp_%j.out 87 #@ error = openmp_%j.err 88 #@ total_tasks = 32 89 #@ wall_clock_limit = 00:02:00 90 91 export OMP_NUM_THREADS=XX 92 93 echo "Numero de procesos: ${SLURM_NPROCS}" 94 echo "Numero de nodos: ${SLURM_JOB_NUM_NODES}" 95 echo "Numero de procesos por nodo: ${SLURM_JOB_CPUS_PER_NODE}" 96 echo "Nodos: ${SLURM_JOB_NODELIST}" 97 98 ./HelloWorldOpenMP 99 }}} 100 Donde '''XX''' es el número de ''threads'' a ejecutar. 101 102 * Envíe 3 jobs con '''XX''' igual a 8, 16 y 32, y compruebe si los resultados son el esperados. 71