AdaptiveCpp / AdaptiveCpp/AdaptiveCpp

Problem when using HIP backend with `hip.explicit-multipass` (Windows)

Open
#1,447 0 comments 0 reactions 0 assignees View on GitHub
discussion
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.