|
@@ -40,14 +40,16 @@ static void omp_destructor(void)
|
|
starpu_omp_shutdown();
|
|
starpu_omp_shutdown();
|
|
}
|
|
}
|
|
|
|
|
|
-void for_g(unsigned long i, void *arg)
|
|
+void for_g(unsigned long i, unsigned long nb_i, void *arg)
|
|
{
|
|
{
|
|
- (void) arg;
|
|
+ for (; nb_i > 0; i++, nb_i--)
|
|
- int worker_id;
|
|
+ {
|
|
- pthread_t tid;
|
|
+ int worker_id;
|
|
- tid = pthread_self();
|
|
+ pthread_t tid;
|
|
- worker_id = starpu_worker_get_id();
|
|
+ tid = pthread_self();
|
|
- printf("[tid %p] task thread = %d, for iteration %lu\n", (void *)tid, worker_id, i);
|
|
+ worker_id = starpu_worker_get_id();
|
|
|
|
+ printf("[tid %p] task thread = %d, for [%s] iteration %lu\n", (void *)tid, worker_id, (const char *)arg, i);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void parallel_region_1_f(void *buffers[], void *args)
|
|
void parallel_region_1_f(void *buffers[], void *args)
|
|
@@ -59,7 +61,7 @@ void parallel_region_1_f(void *buffers[], void *args)
|
|
tid = pthread_self();
|
|
tid = pthread_self();
|
|
worker_id = starpu_worker_get_id();
|
|
worker_id = starpu_worker_get_id();
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
- starpu_omp_for(for_g, NULL, NB_ITERS, CHUNK, starpu_omp_sched_static, 0, 0);
|
|
+ starpu_omp_for(for_g, (void*)"static chunk", NB_ITERS, CHUNK, starpu_omp_sched_static, 0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
static struct starpu_codelet parallel_region_1_cl =
|
|
static struct starpu_codelet parallel_region_1_cl =
|
|
@@ -79,7 +81,7 @@ void parallel_region_2_f(void *buffers[], void *args)
|
|
tid = pthread_self();
|
|
tid = pthread_self();
|
|
worker_id = starpu_worker_get_id();
|
|
worker_id = starpu_worker_get_id();
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
- starpu_omp_for(for_g, NULL, NB_ITERS, 0, starpu_omp_sched_static, 0, 0);
|
|
+ starpu_omp_for(for_g, (void*)"static nochunk", NB_ITERS, 0, starpu_omp_sched_static, 0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
static struct starpu_codelet parallel_region_2_cl =
|
|
static struct starpu_codelet parallel_region_2_cl =
|
|
@@ -99,7 +101,7 @@ void parallel_region_3_f(void *buffers[], void *args)
|
|
tid = pthread_self();
|
|
tid = pthread_self();
|
|
worker_id = starpu_worker_get_id();
|
|
worker_id = starpu_worker_get_id();
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
printf("[tid %p] task thread = %d\n", (void *)tid, worker_id);
|
|
- starpu_omp_for(for_g, NULL, NB_ITERS, CHUNK, starpu_omp_sched_dynamic, 0, 0);
|
|
+ starpu_omp_for(for_g, (void*)"dynamic", NB_ITERS, CHUNK, starpu_omp_sched_dynamic, 0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
static struct starpu_codelet parallel_region_3_cl =
|
|
static struct starpu_codelet parallel_region_3_cl =
|