OpenMP_VV
OpenMP_VV copied to clipboard
OMPVV_TEST_SHARED_ENVIRONMENT test is broken
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
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);
@jhdavis8 make these tests a list please. :)
One option is that we can have an environment variable that specifies which specification is being exercised.