[OpenMP] commit ea3f107a84eaa2459f6eb5d1c8dbeefea7576689 causes hangs on SPIRV
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
After https://github.com/llvm/llvm-project/commit/ea3f107a84eaa2459f6eb5d1c8dbeefea7576689, we see many hangs on SPIR-V, such as:
```
Timed Out Tests (20):
libomptarget :: spirv64-intel :: api/assert.c
libomptarget :: spirv64-intel :: api/omp_device_managed_memory_alloc.c
libomptarget :: spirv64-intel :: api/omp_virtual_func_multiple_inheritance_01.cpp
libomptarget :: spirv64-intel :: jit/empty_kernel_lvl1.c
libomptarget :: spirv64-intel :: jit/empty_kernel_lvl2.c
libomptarget :: spirv64-intel :: mapping/is_device_ptr.cpp
libomptarget :: spirv64-intel :: mapping/mapper_enter_data_always_present_ptee.c
libomptarget :: spirv64-intel :: mapping/ompx_hold/omp_target_disassociate_ptr.c
libomptarget :: spirv64-intel :: mapping/present/target_array_extension.c
libomptarget :: spirv64-intel :: mapping/target_data_array_extension_at_exit.c
libomptarget :: spirv64-intel :: mapping/target_update_array_extension.c
libomptarget :: spirv64-intel :: offloading/bug47654.cpp
libomptarget :: spirv64-intel :: offloading/bug49334.cpp
libomptarget :: spirv64-intel :: offloading/bug50022.cpp
libomptarget :: spirv64-intel :: offloading/ctor_dtor.cpp
libomptarget :: spirv64-intel :: offloading/firstprivate_packed_buffer_lifetime.c
libomptarget :: spirv64-intel :: offloading/high_trip_count_block_limit.cpp
libomptarget :: spirv64-intel :: offloading/target_nowait_target.cpp
libomptarget :: spirv64-intel :: offloading/thread_limit_below_wavefront.c
libomptarget :: spirv64-intel :: offloading/workshare_chunk.c
```
We need to investigate why, for now I plan to restrict the functionality added in this change to non-SPIRV.
Contributor guide
Research direction
Start by comparing commit ea3f107a84eaa2459f6eb5d1c8dbeefea7576689 with the preceding behavior, then run the listed libomptarget spirv64-intel tests to reproduce the hangs. Done means identifying the SPIR-V-specific regression and ensuring the affected tests no longer hang, whether through a targeted restriction or another confirmed fix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100