Skip to content

openmp testing should pass nogpulib #68141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
JonChesterfield opened this issue Oct 3, 2023 · 3 comments · Fixed by #68225
Closed

openmp testing should pass nogpulib #68141

JonChesterfield opened this issue Oct 3, 2023 · 3 comments · Fixed by #68225
Assignees

Comments

@JonChesterfield
Copy link
Collaborator

At present, check-openmp on amdgpu fails with error: cannot find ROCm device library

The test setup is in libomptarget/test/lit.cfg where one can add -nogpulib. That then fails because nogpulib implies no devicertl, which seems dubious to me since openmp definitely cannot ever work without the devicertl. So I'd like to change nogpulib to link in the devicertl anyway.

If we don't want to change that, we can pass lomptarget.devicertl as well as nogpulib to get the right effect.

However I can't see how to do that from lit.cfg. The current commandline flags are prepended before the foo.cpp clause and the explicit library name (either the l form or the archive name) needs to come after it.

Alternatives?

@JonChesterfield
Copy link
Collaborator Author

I wanted to subscribe Joseph but have thus far only found 'assign' in the github UI

@llvmbot
Copy link
Member

llvmbot commented Oct 4, 2023

@llvm/issue-subscribers-openmp

At present, check-openmp on amdgpu fails with `error: cannot find ROCm device library`

The test setup is in libomptarget/test/lit.cfg where one can add -nogpulib. That then fails because nogpulib implies no devicertl, which seems dubious to me since openmp definitely cannot ever work without the devicertl. So I'd like to change nogpulib to link in the devicertl anyway.

If we don't want to change that, we can pass lomptarget.devicertl as well as nogpulib to get the right effect.

However I can't see how to do that from lit.cfg. The current commandline flags are prepended before the foo.cpp clause and the explicit library name (either the l form or the archive name) needs to come after it.

Alternatives?

@JonChesterfield
Copy link
Collaborator Author

Joseph fixed in pull/68225 by passing nogpulib to the tests and also dealing with the devicertl explicitly

jhuber6 added a commit that referenced this issue Oct 4, 2023
…68225)

Summary:
We have tests that depend on two static libraries
`libomptarget.devicertl.a` and `libcgpu.a`. These are currently
implicitly picked up and searched through the standard path. This patch
changes that to pass `-nogpulib` to disable implicit runtime path
searches. We then explicitly passed the built libraries to the
compilations so that we know exactly which libraries are being used.

Depends on: #68220

Fixes #68141
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants