AdaptiveCpp/AdaptiveCpp

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

Opened this issue · 0 comments

I've decided to move this problem description into a separate discussion, so it would be easier to find it using search.
(Related discussion: #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.