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
rocm-opencl-icd: init at 3.5.0 #92914
Conversation
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
@danieldk You are selling yourself short: this cleanup you've done is fantastic! So many things that I stumbled around trying to figure out and fix, you've made comprehensible. I would very much like to upstream these changes into High-level comments:
Again, I am so impressed by and grateful for the work you've done here in cleaning up these derivations. What was before an instance of shipping the MVP is here something much closer to a designed and thought-through artifact. |
Thanks for all the feedback, I have pushed updated commits.
Once this is merged in nixpkgs I can do a PR for
That's indeed a lot less confusing, so I renamed these two derivations.
I think we still need this, because dynamic libraries are in the separate
Sounds good. I think this PR is already quite big. So once it's merged, I can look at
We should probably package that. In general, closed-source software is ok for inclusion, but we cannot let ofborg/Hydra build it. We do have to check the EULA to see what the exact requirements are (e.g. some packages like Oracle's JDK require the user to download the package themselves and add it to the store because they need to confirm the EULA explicitly). I can look into that after this PR.
Agreed. Also about configuring NixOS with OpenCL (and third-party Vulkan) in general. Another possibility would be Part II of the NixOS manual: https://nixos.org/nixos/manual/index.html#ch-configuration Thanks again for all the comments and feedback! |
@matthewbauer since your are an LLVM codeowner, any objections against merging this? |
@Flakebi I think you are also an amdgpu user, since you recently contributed the |
Thanks for the note @danieldk, I compiled two small OpenCL examples from the ROCm docs and it worked great (once I set Thank you for your work! > I think you are also an amdgpu userI guess I’m a little bit more than a user ;) |
Thanks for testing!
Whoops, didn't notice that you are involved in GPUOpen. 😲 😃 |
@Flakebi You should be able to forego that environment variable if you install the package, specifically the |
Two thumbs up, no complaints, this should be ready to go then. |
Motivation for this change
This PR adds the open source AMD ROCm packages for OpenCL support. All the heavy lifting was done by @acowley in the nixos-rocm project. All credit for this work should go to Anthony. I only cleaned up the derivations a little to conform more to nixpkgs guidelines.
I did some very preliminary testing by trying Blender's OpenCL support. Blender seems to pick it up fine.
@acowley I had some questions:
patchelf
in rocm-opencl-runtime still necessary?clinfo
seems to work fine without? I guess we could also consider removing theclinfo
binary, since it is already provided by theclinfo
package innixpkgs
.Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)