Skip to content
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

Package request: ZLUDA #288392

Closed
errnoh opened this issue Feb 12, 2024 · 13 comments
Closed

Package request: ZLUDA #288392

errnoh opened this issue Feb 12, 2024 · 13 comments
Labels
0.kind: packaging request Request for a new package to be added 6.topic: cuda Parallel computing platform and API 6.topic: rocm

Comments

@errnoh
Copy link
Contributor

errnoh commented Feb 12, 2024

Project description

ZLUDA lets you run unmodified CUDA applications with AMD GPUs.

There was a recent good writeup of the capabilities at phoronix so I tried compiling it and running some cuda samples. Seemed to work fine.

Dependencies for building:

    rocmPackages.clr
    rocmPackages.miopen
    rocmPackages.rocm-smi
    rocmPackages.rocsparse
    rocmPackages.rocsolver
    rocmPackages.rocblas
    rocmPackages.hipblas
    rocmPackages.rocm-cmake
    rocmPackages.hipfft
    python3
    cargo
    rustc
    cmake
    clang
    zlib
    libxml2
    libedit

Additional build notes:

  • as hipBLASLt is not available on nixpkgs I did comment out zluda_blaslt from Cargo.toml to be able to successfully build.

If no-one is interested I might end up packaging it myself at later date, but as I'm not that active on the ML space it might benefit from more active maintainer 🤷

Metadata


Add a 👍 reaction to issues you find important.

@errnoh errnoh added the 0.kind: packaging request Request for a new package to be added label Feb 12, 2024
@SomeoneSerge SomeoneSerge added 6.topic: cuda Parallel computing platform and API 6.topic: rocm labels Feb 13, 2024
@errnoh errnoh mentioned this issue Feb 13, 2024
13 tasks
@errnoh
Copy link
Contributor Author

errnoh commented Feb 13, 2024

Created a draft PR with my current progress. For some reason creating a nix-shell with the same buildinputs and running the cargo command manually builds fine. If someone has good ideas check the PR and the comment I added there.

@rastarr
Copy link

rastarr commented Apr 9, 2024

is there any progress on this package request?

@Atemu
Copy link
Member

Atemu commented Apr 10, 2024

Actually, yes. @errnoh created a PR that was linked above: #288644

(Please create a comment in the feature request issue if you've a PR implementing it because else the people watching this don't get pinged!)

@rastarr
Copy link

rastarr commented Apr 10, 2024

Actually, yes. @errnoh created a PR that was linked above: #288644

(Please create a comment in the feature request issue if you've a PR implementing it because else the people watching this don't get pinged!)

OK thank you. I'm a bit lost with when it will get finalised but great it's in progress. Thanks for your quick reply too

@errnoh
Copy link
Contributor Author

errnoh commented Apr 10, 2024

Actually, yes. @errnoh created a PR that was linked above: #288644

(Please create a comment in the feature request issue if you've a PR implementing it because else the people watching this don't get pinged!)

Good point, thought that just having the cross-mention does the trick but didn't consider watchers. Thanks for handling the reply though!

@Atemu
Copy link
Member

Atemu commented Apr 11, 2024

I'm a bit lost with when it will get finalised

It's done when it's done ;)

If you want to help speed up the process, it'd be great if you could test the PR and report your findings.

@rastarr
Copy link

rastarr commented Apr 11, 2024

I'm a bit lost with when it will get finalised

It's done when it's done ;)
If you want to help speed up the process, it'd be great if you could test the PR and report your findings.

I'm happy to help. I have no clue about testing and I only use github for nix config things.
Is there some testing documentation you can point me to?

@Atemu
Copy link
Member

Atemu commented Apr 11, 2024

Just https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#how-to-review-pull-requests but the gist is to build the package locally and then test that build.

@rastarr
Copy link

rastarr commented Apr 11, 2024

Just https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#how-to-review-pull-requests but the gist is to build the package locally and then test that build.

OK thanks for that. I read through it :)

@errnoh
Copy link
Contributor Author

errnoh commented Apr 14, 2024

ZLUDA v3 has now been merged. Worth mentioning that zluda_blaslt is not supported on this release and will be added later once hipblaslt package is available in nixpkgs. Everything else supported by ZLUDA should work fine though.

@errnoh errnoh closed this as completed Apr 14, 2024
@github-project-automation github-project-automation bot moved this from New to ✅ Done in CUDA Team Apr 14, 2024
@arunoruto
Copy link
Contributor

Sorry for commenting on a closed issue, but I got a new AMD motherboard for my laptop and wanted to give ZLUDA a try. From what I understand on the new blog post of vosen, ZLUDA 3 was based on ROCm version 5. Version 6 is available in nixpkgs, but there have been some problems, especially since miopen has some issues #299156 and is not available in the cache (version 6.x.y) -> takes ages to compile.

So to my question: should the current version of the package still use rocmPackages or should it be replaced with rocmPackages_5? I wanted to ask here instead of opening a new issue, but if isn't the right way, I can open one up :)

@Atemu
Copy link
Member

Atemu commented Oct 15, 2024

Well that fully depends on whether it works or not. If it doesn't work with version 6 then it should be pinned to version 5.

ROCm 6 not being in the cache is not an issue of ZLUDA and the same is likely to happen to ROCm 5; it's a mess.

@errnoh
Copy link
Contributor Author

errnoh commented Oct 15, 2024

Haven't been following ZLUDA recently (apart from there being no releases since v3), but decided to take a look. Seems like there was a blog post couple weeks ago: https://vosen.github.io/ZLUDA/blog/zludas-third-life/

Seems like quite major changes but likely towards more stable future. Regarding the above questions it seems that at least regarding future versions one of the mentions over there is that Pre-rollback ZLUDA stayed on ROCm 5 mainly because I did not want to re-test all the version-specific workarounds. Since we are starting with a clean slate, AMD backend will target ROCm 6.1+.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: packaging request Request for a new package to be added 6.topic: cuda Parallel computing platform and API 6.topic: rocm
Projects
Status: Done
Development

No branches or pull requests

5 participants