- 编写源程序parallel.c
#include <omp.h>
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
int main()
{
/* Time on */
struct timeval start, end;
long secs_used, micros_used;
gettimeofday(&start, NULL);
omp_set_num_threads(50);
int i;
#pragma omp parallel for
for(i = 0; i < 10000; i++)
{
double a = 1.0;
double b = 5.23455;
double d = a / b;
int c = omp_get_thread_num();
printf("%d\n", c);
}
/* Calculate running time */
gettimeofday(&end, NULL);
secs_used=(end.tv_sec - start.tv_sec); //avoid overflow by subtracting first
micros_used= (secs_used * 1000000) + (end.tv_usec - start.tv_usec);
printf("time used: %ld us\n",micros_used);
}
- 编译
arm-linux-gnueabihf-gcc-4.9.4 parallel.c -o parallel -static -fopenmp
- 运行
chmod 777 parallel
./parallel
- 执行结果
