00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <omp.h>
00015 #include <stdio.h>
00016 #define N 50
00017 #define CHUNKSIZE 5
00018
00019 main () {
00020
00021 int i, chunk, tid;
00022 float a[N], b[N], c[N];
00023
00024
00025 for (i=0; i < N; i++)
00026 a[i] = b[i] = i * 1.0;
00027 chunk = CHUNKSIZE;
00028
00029 #pragma omp parallel for \
00030 shared(a,b,c,chunk) \
00031 private(i,tid) \
00032 schedule(static,chunk)
00033 {
00034 tid = omp_get_thread_num();
00035 for (i=0; i < N; i++)
00036 {
00037 c[i] = a[i] + b[i];
00038 printf("tid= %d i= %d c[i]= %f\n", tid, i, c[i]);
00039 }
00040 }
00041
00042 return 0;
00043 }