-
Notifications
You must be signed in to change notification settings - Fork 121
Allow Lit to use 'ptxas' tool to validate generated PTX on the NVPTX builders. #390
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
Conversation
|
@justinfargnoli thank you a lot for the proposed improvements for the NVPTX testing process. All NVPTX build hosts have preinstalled NVIDIA CUDA Toolkit. The last one or the previous one. Currently they have been updated to 12.8. We update CUDA manually during the host maintenance. |
…builders. Specify LLVM_PTXAS_EXECUTABLE environment variable with a full path to 'ptxas' tool from installed NVIDIA CUDA Toolkit. LIT will be automatically check and use this tool to validate PTX during the tests.
d9ee115 to
4fc5a53
Compare
justinfargnoli
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for putting up this PR, @vvereschaka! This will be a very useful improvement to the NVPTX tests.
LGTM!
|
CC @Artem-B |
Artem-B
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I'm a bit surprised that I've completely missed addition of those bots. It's good to know that we do have them and running ptxas tests would be very useful.
Another possible future improvement we could implement is to figure out a way to run ptxas tests with multiple CUDA versions. E.g. have LLVM_PTXAS_EXECUTABLE accept a list of ptxas locations, and then get lit to run %ptxas test cases per individual ptxas binary.
@vvereschaka, to this end, would it be okay to upload |
@justinfargnoli probably it is possible, we still keep some previous versions of CUDA on the Windows host, but not on the Linux host. I have noticed some problems with the multiple installations of CUDA on Linux and just remove the previous versions before upgrading to the last one. |
A common issue is that the build rules do not always specify the exact path to the CUDA version, and the build ends up using a mix of CUDA SDK bits picked up via explcitly provided path and via the parts found via PATH or /usr/local/cuda which may be from a different version. Not having the default CUDA installation simplifies things, as the build will only pick up the CUDA it's explicitly pointed to, and will fail in a very obvious way otherwise. Multiple CUDA versions can be installed safely from NVIDIA's .run installers. The only "gotcha" there is that by default the installer attempts to put some shared libraries into a system-wide directory. It can be worked around with Here's what I usually use.
|
To clarify, I think this should be a future improvement, not something we should block this PR on. In light of this, is this PR ready to be merged or are there other blockers? |
|
It should be ready. I'm going to merge this MR. |
Specify LLVM_PTXAS_EXECUTABLE environment variable with a full path to 'ptxas' tool from installed NVIDIA CUDA Toolkit. LIT will be automatically check and use this tool to validate PTX during the tests.