Prueba de la instalación
Anterior | Siguiente |
Ahora debe estar todo listo para empezar a experimentar con OpenMP. Para comprobarlo vamos a compilar y ejecutar el siguiente código:
#include <stdio.h>
#include <omp.h>
int main(){
#pragma omp parallel for
for(int i=0;i<16;i++){
printf("i=%d processed by thread=%d\n", i, omp_get_thread_num());
}
}
Puedes descargar este ejemplo aquí. Utiliza el editor de texto de tu preferencia.
La compilación se hace ejecutando clang, el frontend de llvm para C:
clang -fopenmp -I/home/user/llvm/llvm-build/projects/openmp/runtime/src/
-o prueba-000 prueba-000.c
Usamos -I
para indicar dónde encontrar el archivo omp.h
, el cuál contiene la definición de la función omp_get_num_thread()
.
Usamos -fopenmp
para habilitar la compilación de un programa paralelo. Sin esta opción, los pragmas (anotaciones al código) de OpenMP serían ignorados y tendríamos un programa secuencial.
Finalmente, ejecutamos el programa generado:
./prueba-000
Obtendremos diferentes resultados cada vez que lo ejecutemos:
i=8 processed by thread=2
i=9 processed by thread=2
i=10 processed by thread=2
i=4 processed by thread=1
i=0 processed by thread=0
i=1 processed by thread=0
i=11 processed by thread=2
i=5 processed by thread=1
i=6 processed by thread=1
i=7 processed by thread=1
i=12 processed by thread=3
i=13 processed by thread=3
i=2 processed by thread=0
i=3 processed by thread=0
i=14 processed by thread=3
i=15 processed by thread=3
Progresivamente iremos aprendiendo cómo manipular el número de hilos y las opciones de compilación.
Anterior | Siguiente |