Bläddra i källkod

openmp: add starpu_omp_get_initial_device()

This routine returns a device number representing the host device.
Samuel Pitoiset 8 år sedan
förälder
incheckning
d2e30cbb43
3 ändrade filer med 8 tillägg och 0 borttagningar
  1. 1 0
      include/starpu_openmp.h
  2. 6 0
      src/util/openmp_runtime_support_omp_api.c
  3. 1 0
      tests/openmp/api_01.c

+ 1 - 0
include/starpu_openmp.h

@@ -147,6 +147,7 @@ extern int starpu_omp_get_num_devices(void) __STARPU_OMP_NOTHROW;
 extern int starpu_omp_get_num_teams(void) __STARPU_OMP_NOTHROW;
 extern int starpu_omp_get_team_num(void) __STARPU_OMP_NOTHROW;
 extern int starpu_omp_is_initial_device(void) __STARPU_OMP_NOTHROW;
+extern int starpu_omp_get_initial_device(void) __STARPU_OMP_NOTHROW;
 extern int starpu_omp_get_max_task_priority(void) __STARPU_OMP_NOTHROW;
 extern void starpu_omp_init_lock(starpu_omp_lock_t *lock) __STARPU_OMP_NOTHROW;
 extern void starpu_omp_destroy_lock(starpu_omp_lock_t *lock) __STARPU_OMP_NOTHROW;

+ 6 - 0
src/util/openmp_runtime_support_omp_api.c

@@ -257,6 +257,12 @@ int starpu_omp_is_initial_device(void)
 	return device == _starpu_omp_global_state->initial_device;
 }
 
+int starpu_omp_get_initial_device(void)
+{
+	/* Assume only one device for now. */
+	return 0;
+}
+
 int starpu_omp_get_max_task_priority(void)
 {
 	const struct starpu_omp_region * const parallel_region = _starpu_omp_get_task()->owner_region;

+ 1 - 0
tests/openmp/api_01.c

@@ -135,6 +135,7 @@ main (int argc, char *argv[])
 	check_omp_func(starpu_omp_get_num_teams, 1);
 	check_omp_func(starpu_omp_get_team_num, 0);
 	check_omp_func(starpu_omp_is_initial_device, 1);
+	check_omp_func(starpu_omp_get_initial_device, 0);
 	check_omp_func(starpu_omp_get_max_task_priority, 0);
 	return 0;
 }