AdaptiveCpp / AdaptiveCpp/AdaptiveCpp
Problem when using HIP backend with `hip.explicit-multipass` (Windows)
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 228
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 25
Description
I've decided to move this problem description into a separate discussion, so it would be easier to find it using search.
(Related discussion: https://github.com/AdaptiveCpp/AdaptiveCpp/discussions/1240)
HIP backend works on Windows when using integrated multipass compile flow and HIP SDK 5.5.
However, when I compile binaries using explicit multipass, it doesn't. It correctly finds the device, creates queue, but can't execute any kernels.
This is the output I get:
```
[AdaptiveCpp Warning] backend_loader: Could not load library: g:\Temp\amdtest\hipSYCL\rt-backend-cuda.dll with: 126
Running on device: AMD Radeon RX 7600
[AdaptiveCpp Error] from D:/source/AdaptiveCpp/src/runtime/hip/hip_code_object.cpp:67 @ build_hip_module(): hip_executable_object: could not create module (error code = HIP:218)
[AdaptiveCpp Error] from D:/source/AdaptiveCpp/src/runtime/hip/hip_queue.cpp:574 @ submit_multipass_kernel_from_code_object(): hip_queue: Code object construction failed
[AdaptiveCpp Error] from D:/source/AdaptiveCpp/src/runtime/hip/hip_code_object.cpp:67 @ build_hip_module(): hip_executable_object: could not create module (error code = HIP:218)
[AdaptiveCpp Error] from D:/source/AdaptiveCpp/src/runtime/hip/hip_queue.cpp:574 @ submit_multipass_kernel_from_code_object(): hip_queue: Code object construction failed
============== hipSYCL error report ==============
hipSYCL has caught the following undhandled asynchronous errors:
0. from D:/source/AdaptiveCpp/src/runtime/hip/hip_code_object.cpp:67 @ build_hip_module(): hip_executable_object: could not create module (error code = HIP:218)
1. from D:/source/AdaptiveCpp/src/runtime/hip/hip_queue.cpp:574 @ submit_multipass_kernel_from_code_object(): hip_queue: Code object construction failed
2. from D:/source/AdaptiveCpp/src/runtime/hip/hip_code_object.cpp:67 @ build_hip_module(): hip_executable_object: could not create module (error code = HIP:218)
3. from D:/source/AdaptiveCpp/src/runtime/hip/hip_queue.cpp:574 @ submit_multipass_kernel_from_code_object(): hip_queue: Code object construction failed
The application will now be terminated.
```
The problem arises only with `hip.explicit-multipass`; `cuda.explicit-multipass` works well, and so is `hip.integrated-multipass`.
Contributor guide
Assessment
This issue has not been assessed yet.