|
@@ -101,7 +101,7 @@ void parallel_region_3_f(void *buffers[], void *args)
|
|
|
tid = pthread_self();
|
|
|
worker_id = starpu_worker_get_id();
|
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
|
- starpu_omp_for(for_g, (void*)"dynamic", NB_ITERS, CHUNK, starpu_omp_sched_dynamic, 0, 0);
|
|
|
+ starpu_omp_for(for_g, (void*)"dynamic chunk", NB_ITERS, CHUNK, starpu_omp_sched_dynamic, 0, 0);
|
|
|
}
|
|
|
|
|
|
static struct starpu_codelet parallel_region_3_cl =
|
|
@@ -112,11 +112,74 @@ static struct starpu_codelet parallel_region_3_cl =
|
|
|
|
|
|
};
|
|
|
|
|
|
+void parallel_region_4_f(void *buffers[], void *args)
|
|
|
+{
|
|
|
+ (void) buffers;
|
|
|
+ (void) args;
|
|
|
+ int worker_id;
|
|
|
+ pthread_t tid;
|
|
|
+ tid = pthread_self();
|
|
|
+ worker_id = starpu_worker_get_id();
|
|
|
+ printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
|
+ starpu_omp_for(for_g, (void*)"dynamic nochunk", NB_ITERS, 0, starpu_omp_sched_dynamic, 0, 0);
|
|
|
+}
|
|
|
+
|
|
|
+static struct starpu_codelet parallel_region_4_cl =
|
|
|
+{
|
|
|
+ .cpu_funcs = { parallel_region_4_f, NULL },
|
|
|
+ .where = STARPU_CPU,
|
|
|
+ .nbuffers = 0
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+void parallel_region_5_f(void *buffers[], void *args)
|
|
|
+{
|
|
|
+ (void) buffers;
|
|
|
+ (void) args;
|
|
|
+ int worker_id;
|
|
|
+ pthread_t tid;
|
|
|
+ tid = pthread_self();
|
|
|
+ worker_id = starpu_worker_get_id();
|
|
|
+ printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
|
+ starpu_omp_for(for_g, (void*)"guided nochunk", NB_ITERS, 0, starpu_omp_sched_guided, 0, 0);
|
|
|
+}
|
|
|
+
|
|
|
+static struct starpu_codelet parallel_region_5_cl =
|
|
|
+{
|
|
|
+ .cpu_funcs = { parallel_region_5_f, NULL },
|
|
|
+ .where = STARPU_CPU,
|
|
|
+ .nbuffers = 0
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+void parallel_region_6_f(void *buffers[], void *args)
|
|
|
+{
|
|
|
+ (void) buffers;
|
|
|
+ (void) args;
|
|
|
+ int worker_id;
|
|
|
+ pthread_t tid;
|
|
|
+ tid = pthread_self();
|
|
|
+ worker_id = starpu_worker_get_id();
|
|
|
+ printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
|
+ starpu_omp_for(for_g, (void*)"guided nochunk", NB_ITERS, 0, starpu_omp_sched_guided, 0, 0);
|
|
|
+}
|
|
|
+
|
|
|
+static struct starpu_codelet parallel_region_6_cl =
|
|
|
+{
|
|
|
+ .cpu_funcs = { parallel_region_6_f, NULL },
|
|
|
+ .where = STARPU_CPU,
|
|
|
+ .nbuffers = 0
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
int
|
|
|
main (int argc, char *argv[]) {
|
|
|
starpu_omp_parallel_region(¶llel_region_1_cl, NULL);
|
|
|
starpu_omp_parallel_region(¶llel_region_2_cl, NULL);
|
|
|
starpu_omp_parallel_region(¶llel_region_3_cl, NULL);
|
|
|
+ starpu_omp_parallel_region(¶llel_region_4_cl, NULL);
|
|
|
+ starpu_omp_parallel_region(¶llel_region_5_cl, NULL);
|
|
|
+ starpu_omp_parallel_region(¶llel_region_6_cl, NULL);
|
|
|
return 0;
|
|
|
}
|
|
|
#endif
|