Open doru1004 opened 10 months ago
@llvm/issue-subscribers-openmp
This doesn't look like a openmp issue. A AMDGPU backend related issue instead.
@llvm/issue-subscribers-backend-amdgpu
This doesn't look like a openmp issue. A AMDGPU backend related issue instead.
It may be an OpenMP issue for O1 and default optimization level.
This doesn't look like a openmp issue. A AMDGPU backend related issue instead.
It may be an OpenMP issue for O1 and default optimization level.
It might be. It seems like 3 different problems. Let's fix them one by one. The crash in the backend is the easiest. Once that runs we should figure our why no O flag is not equivalent to O0. Then, we can dive into the O1 test case trying to understand why it crashes.
Update: adding device(0) clauses fixes the intermittent fails for -O1. For no optimization level the intermittent fails are reduced from 4/5 fails every 100 tries to 1/2 every 500 tries which suggest there may be more than one issue causing intermittent fails so at least one remains. The compilation fail at -O0 is unchanged.
I investigated the memory_manager.cpp test in OpenMP and it looks like, on AMD GPUs, it fails in different ways for different optimization levels.
For -O2 and -O3 the test passes consistently. For -O1 or no optimization level specified it fails occasionally with a GPU memory error. For -O0 it doesn't even compile, the trace is below: