PDF Imprimir E-mail

OpenMP

Bienvenido a la Grid Morelense de Alto Rendimiento

En esta sección mostramos como hacer uso de programas con OpenMP. Primeramente refiérase a como tener acceso al Cluster. <Descargar PDF>  

 tux

Para compilar y ejecutar programas con OpenMP use: gcc -fopenmp -0 <ejecutable> <fuente> donde ejecutable es el nombre del archivo de salida y fuente es el archivo a compilar o programa fuente con extension .c.

 #include <omp.h>
 #include <stdio.h>

 int main (int argc, char *argv[]) {
   int th_id, nthreads;
   #pragma omp parallel private(th_id)
   {
     th_id = omp_get_thread_num();
     printf("Hello World from thread %d\n", th_id);
     #pragma omp barrier
     if ( th_id == 0 ) {
       nthreads = omp_get_num_threads();
       printf("There are %d threads\n",nthreads);
     }
   }
   return 0;
 }
 

Así para compilar este programa llamado hola_openmp.c seria.

[[fjuarez@gridmorelos ~]$ gcc -fopenmp -o hola_openmp hola_openmp.c

Si se requiere agregar funciones matemáticas agregue la librería con:  mpicc -lm -fopenmp -o <ejecutable> <fuente>.

 

Ejecución de trabajos con OpenMP.  Ejecute el programa de forma normal como cualquier otro programa hecho en C.

[fjuarez@gridmorelos ~]$ ./hola_openmp
Hello World from thread 1
Hello World from thread 0
There are 2 threads

Observe que no se esta usando algún nodo del Cluster ya que esta logeado en gridmorelos.uaem.mx que es el front-end o nodo maestro, para usar los nodos del Cluster se requiere lanzar los programas uno a uno ya que no es un programa MPI, si por ejemplo se desea usar un nodo en especifico podría lanzarlo de la siguiente manera, primero observando los nodos disponibles.

[fjuarez@gridmorelos ~]$ rocks list host
HOST                MEMBERSHIP CPUS RACK RANK RUNACTION INSTALLACTION

gridmorelos:    Frontend                 2        0           0              os        install
compute-0-0:   Compute               2        0           0               os        install
compute-0-1:   Compute               2        0           1               os        install

...

 

Al seleccionar el nodo llamado compute-0-0 el comando seria:


[fjuarez@gridmorelos ~]$ ssh compute-0-0 ./hola_openmp
Hello World from thread 0
Hello World from thread 1
There are 2 threads
 

Si requiere lanzar los programas OpenMP a lo largo de todo el Cluster podría implementar un Script que realice esta misma tarea por cada nodo disponible.
Última actualización el Martes, 05 de Octubre de 2010 15:52
 

Patrocinadores


CIICAp
Maestrías y Doctorados en: Tecnología Eléctrica, Tecnología Química, Tecnología de Materiales y Tecnología Mecánica.




 

 

Links Relacionados

Mapa de visitas de esta página

Springer
Revista Programación Matemática

Springer

Artículo Mini Grid Morelos
Artículo Mini Grid Morelos

Contador de visitas

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoy46
mod_vvisit_counterAyer53
mod_vvisit_counterEsta semana46
mod_vvisit_counterÚltima semana318
mod_vvisit_counterEste més254
mod_vvisit_counterUltimo més1980
mod_vvisit_countertodos los dìas431853