magma: init 2.7.1; migrate to cudaPackages#217410
Conversation
e9fe740 to
abedeae
Compare
|
Result of 2 packages failed to build:
2 packages built:
|
f60a65f to
f79dcdf
Compare
bb7b6ce to
1f1ed0b
Compare
|
Result of 5 packages built:
|
|
cc @NixOS/cuda-maintainers |
1f1ed0b to
812324f
Compare
|
Rebased and now introducing 2.7.1. Builds just fine on CUDA. 2.7.1, like 2.7.0, fails on ROCm -- and in the same way, when linking. 2.6.2 remains the default for ROCm. |
|
Will rewrite releases.json in nix later tonight, time permitting. |
812324f to
277b772
Compare
|
Now with 50% more Nix! |
277b772 to
0918023
Compare
|
Running |
|
Result of 5 packages built:
|
0918023 to
e5f4d72
Compare
|
And again after rebasing on master |
e5f4d72 to
434c3ea
Compare
|
Result of 5 packages built:
|
|
Wahoo no failures! |
|
Result of 5 packages built:
|
|
LGTM thanks @ConnorBaker ! |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/tweag-nix-dev-update-45/26397/1 |
Description of changes
Adds magma 2.7.1 and makes it the default.
AMD's HIP doesn't work on anything newer than 2.6.2 -- something causes a failure when trying to link
libmagma.so-- so 2.6.2 remains the default formagma-hip.Note that this PR includes a move to using a
releases.json. This is done mostly to remove boilerplate from the Nix derivation and avoid clutter fromsupportedGpuTargets.I've run into this problem elsewhere, but it's important that packages which target specific GPU architectures are aware of the architectures they support. The architectures available to this package via
hip.gpuTargets,cudaFlags.cudaRealArchs, and thegpuTargetsargument can cause frustrating build failures if they are not sanitized. Unfortunately, in this case that meant looking at Magma's CMakeLists.txt to find out which architectures are supported. For both CUDA and ROCm, I decided to use the SM and GFX names respectively, because Magma allows more granular support than when building for entire generations.Following in the footsteps of @SomeoneSerge's work (#168745), migrate to
cudaPackages.Updated torch to reference the new
passthruattributecudaPackagesinstead ofcudatoolkit.Closure before:
/nix/store/mcl5f361f3zix9bymp7rx9xcml0b2g4y-magma-2.6.2 518.6M 5.4GDetails
Closure after (for a previous version of this PR targeting 2.7.0; the size different is still as large):
/nix/store/jb024nl0mvvrrsxw06ha1s96wsx69993-magma-2.7.0 389.5M 2.3GDetails
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Failures
The below is kept for posterity; it was my attempt at troubleshooting AMD support prior to deciding to keep a copy of 2.6.2.
Details
Linking CXX shared library lib/libmagma.so.And so we do a rough binary search through the commit history of Magma to find out when it broke :(
EDIT: What a headache. I'll split the package so CUDA gets 2.7.0 and HIP can stay on 2.6.2.
2023-02-10revert api changes for the batch gemv routines that accept pointer arrays: https://bitbucket.org/icl/magma/commits/1814c2518a76b81d75e5987d35797305ef2c9f4d.2022-10-28update release note: https://bitbucket.org/icl/magma/commits/e96d4c97be78a8b19b273dbaa99955d6529e539a.2022-10-17bug fix: https://bitbucket.org/icl/magma/src/001df2f69f8c25f4e722a6ff997a2aa69da0d4e0.2022-10-11unnecessary includes: https://bitbucket.org/icl/magma/commits/e8a673d27c7e927ec8eda0c2059b7a213baa6e4e.2022-06-26update notes for next release: https://bitbucket.org/icl/magma/src/24410113e61fc72c2cbc039c2cef9aa7dc815a92.2022-06-24allow launch bounds for CUDA: https://bitbucket.org/icl/magma/src/849bf8e00e929da7699a02424466e127a883668f.2022-06-23Merged in master (pull request#21): https://bitbucket.org/icl/magma/src/9e0b130afaf3fe635441cba351555505c9d68e28.Makefile:357: magmablas_hip/Makefile.src: No such file or directory.2022-05-24call the new gemm prototype with version 2: https://bitbucket.org/icl/magma/src/ec35ab142120a1a067f1a77f5392b70f5367e8a9.2022-05-24minor: https://bitbucket.org/icl/magma/src/5eec59630f963a46bff59cbab6f39610fc9c610b.2022-04-20potential fix for failures at very large matrix sizes: https://bitbucket.org/icl/magma/commits/d998fcbb94d9046ec98ae93757010a1472902d54.