OpenMP_VV icon indicating copy to clipboard operation
OpenMP_VV copied to clipboard

OMPVV_TEST_SHARED_ENVIRONMENT test is broken

Open josemonsalve2 opened this issue 5 years ago • 3 comments

Describe the bug Based on the description by Tom Scogland in the PR #86, the test we do with this macro is broken

Test that it applies to Any test that requires us to check for this condition

Expected behavior A possible solution would be to use is_device_pointer with a pointer variable instead of an scalar. Using an scalar has the problem of defaultmaping of scalars as firstprivate.

List of tests this applies to:

  • [x] tests/4.5/target/test_target_map_module_array.F90
  • [x] tests/4.5/target/test_target_map_program_arrays.F90
  • [x] tests/4.5/target/test_target_map_subroutines_arrays.F90
  • [x] tests/4.5/target_data/test_target_data_if.F90
  • [x] tests/4.5/target_data/test_target_data_if.c
  • [x] tests/4.5/target_data/test_target_data_map.F90
  • [x] tests/4.5/target_data/test_target_data_map_components_from.F90
  • [x] tests/4.5/target_data/test_target_data_map_components_to.F90
  • [x] tests/4.5/target_data/test_target_data_map_devices.F90
  • [x] tests/4.5/target_data/test_target_data_map_from_array_sections.F90
  • [x] tests/4.5/target_data/test_target_data_map_set_default_device.F90
  • [x] tests/4.5/target_data/test_target_data_map_to_array_sections.F90
  • [x] tests/4.5/target_data/test_target_data_pointer_swap.c
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_allocate_array_alloc.F90
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_allocate_array_to.F90
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_components_to.F90
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_devices.F90
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_if.F90
  • [x] tests/4.5/target_enter_data/test_target_enter_data_if.c
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_module_array.F90
  • [ ] tests/4.5/target_enter_data/test_target_enter_data_set_default_device.F90
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_allocate_array_alloc_delete.F90
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_devices.F90
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_if.F90
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_map_global_array.c
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_module_array.F90
  • [ ] tests/4.5/target_enter_exit_data/test_target_enter_exit_data_set_default_device.F90
  • [x] tests/4.5/target_teams_distribute/test_target_teams_distribute.c
  • [ ] tests/4.5/target_teams_distribute/test_target_teams_distribute_dist_schedule.F90
  • [ ] tests/4.5/target_teams_distribute/test_target_teams_distribute_dist_schedule.c
  • [ ] tests/4.5/target_teams_distribute/test_target_teams_distribute.F90
  • [ ] tests/4.5/target_teams_distribute/test_target_teams_distribute_defaultmap.F90
  • [x] tests/4.5/target_teams_distribute/test_target_teams_distribute_map.F90
  • [x] tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_default.c
  • [x] tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_from.c
  • [x] tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_to.c

josemonsalve2 avatar Feb 17 '20 17:02 josemonsalve2

We have discussed about removing this macro completely for 4.5

This brings up also, how to differenciate the ompvv.h for each OpenMP version?

Also, list of tests using it: 36 tests:

tests/4.5/target/test_target_map_module_array.F90:29:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target/test_target_map_program_arrays.F90:24:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target/test_target_map_subroutines_arrays.F90:29:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_if.F90:40:         OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_if.c:100:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv);
tests/4.5/target_data/test_target_data_map.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_components_from.F90:36:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_components_to.F90:36:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_devices.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_from_array_sections.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_set_default_device.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_map_to_array_sections.F90:22:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_data/test_target_data_pointer_swap.c:27:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(is_shared_env);
tests/4.5/target_enter_data/test_target_enter_data_allocate_array_alloc.F90:31:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_allocate_array_to.F90:31:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_components_to.F90:36:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_devices.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_if.F90:40:         OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_if.c:39:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedMemory)
tests/4.5/target_enter_data/test_target_enter_data_module_array.F90:150:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_data/test_target_enter_data_set_default_device.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_allocate_array_alloc_delete.F90:32:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_devices.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_if.F90:30:         OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_map_global_array.c:82:  OMPVV_TEST_SHARED_ENVIRONMENT;
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_module_array.F90:186:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_enter_exit_data/test_target_enter_exit_data_set_default_device.F90:23:        OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_teams_distribute/test_target_teams_distribute.c:25:  OMPVV_TEST_SHARED_ENVIRONMENT
tests/4.5/target_teams_distribute/test_target_teams_distribute_dist_schedule.F90:26:  OMPVV_TEST_SHARED_ENVIRONMENT
tests/4.5/target_teams_distribute/test_target_teams_distribute_dist_schedule.c:84:  OMPVV_TEST_SHARED_ENVIRONMENT;
tests/4.5/target_teams_distribute/test_target_teams_distribute.F90:22:  OMPVV_TEST_SHARED_ENVIRONMENT
tests/4.5/target_teams_distribute/test_target_teams_distribute_defaultmap.F90:29:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv)
tests/4.5/target_teams_distribute/test_target_teams_distribute_map.F90:23:  OMPVV_TEST_SHARED_ENVIRONMENT
tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_default.c:63:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv);
tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_from.c:51:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv);
tests/4.5/target_teams_distribute_parallel_for/test_target_teams_distribute_parallel_for_map_to.c:47:  OMPVV_TEST_AND_SET_SHARED_ENVIRONMENT(isSharedEnv);

josemonsalve2 avatar Feb 17 '20 20:02 josemonsalve2

@jhdavis8 make these tests a list please. :)

josemonsalve2 avatar Feb 17 '20 20:02 josemonsalve2

One option is that we can have an environment variable that specifies which specification is being exercised.

spophale avatar Feb 18 '20 16:02 spophale