[llvm] [OFFLOAD] Restore interop functionality (PR #161429)
Alex Duran via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 1 15:27:54 PDT 2025
adurang wrote:
I was finally able to run it on NVIDIA GPU. The test failed because the NVIDIA support for "interop use" is not implemented:
> "PluginInterface" error: Failure to synchronize interop object 0x00005e885181dcf0: "generic error code for features unsupported by the device/backend" sync_barrier not supported
> omptarget fatal error 0: Interop sync barrier failed for 0x5e885181dcf0 object
We have 3 options here:
1. Leave as it is. The RTL is now really trying to implement the OpenMP semantics for "interop use" instead of just returning "success" and plugin still doesn't support them (nor it did in the past). So, while the test would still be failing it is actual reflection of the real state of things.
2. I can add a simple implementation to the plugin that returns "success" even if it doesn't really do anything. (I tried this and the tests passes with it).
3. Someone that has an idea of what should go there (probably something like cudaHostSynchronize) let's me know and I add it (or do PR against this one).
I personally think 1 is , because in the past the test was passing not because the implementation was doing the right thing (it wasn't) but because the test doesn't really check anything. But if others thing it's best to do 2 or 3, that's ok with me too.
Also, I had to the disable the return of the Stream to the manager that @kevinsala suggested as it causes a double free at the end of the program. It seems to be kept somewhere else and released at deinit so there's no leak.
https://github.com/llvm/llvm-project/pull/161429
More information about the llvm-commits
mailing list