Skip to content

{math}[foss/2024a] magma v2.9.0 w/ CUDA 12.6.0#23432

Merged
branfosj merged 2 commits intoeasybuilders:developfrom
jpecar:20250716134406_new_pr_magma290
Jul 19, 2025
Merged

{math}[foss/2024a] magma v2.9.0 w/ CUDA 12.6.0#23432
branfosj merged 2 commits intoeasybuilders:developfrom
jpecar:20250716134406_new_pr_magma290

Conversation

@jpecar
Copy link
Contributor

@jpecar jpecar commented Jul 16, 2025

(created using eb --new-pr)

@github-actions
Copy link

github-actions bot commented Jul 16, 2025

Updated software magma-2.9.0-foss-2024a-CUDA-12.6.0.eb

Diff against magma-2.7.2-foss-2023b-CUDA-12.4.0.eb

easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb

diff --git a/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
index 26a36f2542..fe10cf77dc 100644
--- a/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb
+++ b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
@@ -1,38 +1,37 @@
 easyblock = 'CMakeMake'
 
 name = 'magma'
-version = '2.7.2'
+version = '2.9.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://icl.cs.utk.edu/magma/'
 description = """The MAGMA project aims to develop a dense linear algebra library similar to
  LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems."""
 
-toolchain = {'name': 'foss', 'version': '2023b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/']
 sources = [SOURCE_TAR_GZ]
-patches = ['%(name)s-2.7.2_allow-all-sms.patch']
 checksums = [
-    {'magma-2.7.2.tar.gz': '729bc1a70e518a7422fe7a3a54537a4741035a77be3349f66eac5c362576d560'},
-    {'magma-2.7.2_allow-all-sms.patch': '2996485844d7e199ea57eaebf59903d3514a03536f82b655ce30de480e28b828'},
+    {'magma-2.9.0.tar.gz': 'ff77fd3726b3dfec3bfb55790b06480aa5cc384396c2db35c56fdae4a82c641c'},
 ]
 
 builddependencies = [
-    ('CMake', '3.27.6'),
+    ('CMake', '3.29.3'),
 ]
 dependencies = [
-    ('CUDA', '12.4.0', '', SYSTEM),
-    ('UCX-CUDA', '1.15.0', versionsuffix),
+    ('CUDA', '12.6.0', '', SYSTEM),
+    ('UCX-CUDA', '1.16.0', versionsuffix),
 ]
 
 # default CUDA compute capabilities to use (override via --cuda-compute-capabilities)
 cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0']
 
 # make sure both static and shared libs are built
+# magma.so is large, compress it to avoid link failure
 configopts = [
-    '-DBUILD_SHARED_LIBS=%s \
+    '-DBUILD_SHARED_LIBS=%s -DCMAKE_CUDA_FLAGS="-Xfatbin -compress-all" \
      -DGPU_TARGET="%%(cuda_sm_space_sep)s" ' % local_shared for local_shared in ('ON', 'OFF')
 ]
 
Diff against magma-2.7.1-foss-2022b-CUDA-11.7.0.eb

easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb

diff --git a/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
index 6ac5dc2ddc..fe10cf77dc 100644
--- a/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb
+++ b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
@@ -1,35 +1,38 @@
 easyblock = 'CMakeMake'
 
 name = 'magma'
-version = '2.7.1'
+version = '2.9.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://icl.cs.utk.edu/magma/'
 description = """The MAGMA project aims to develop a dense linear algebra library similar to
  LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems."""
 
-toolchain = {'name': 'foss', 'version': '2022b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/']
 sources = [SOURCE_TAR_GZ]
-checksums = ['d9c8711c047a38cae16efde74bee2eb3333217fd2711e1e9b8606cbbb4ae1a50']
+checksums = [
+    {'magma-2.9.0.tar.gz': 'ff77fd3726b3dfec3bfb55790b06480aa5cc384396c2db35c56fdae4a82c641c'},
+]
 
 builddependencies = [
-    ('CMake', '3.24.3'),
+    ('CMake', '3.29.3'),
 ]
 dependencies = [
-    ('CUDA', '11.7.0', '', SYSTEM),
-    ('UCX-CUDA', '1.13.1', versionsuffix),
+    ('CUDA', '12.6.0', '', SYSTEM),
+    ('UCX-CUDA', '1.16.0', versionsuffix),
 ]
 
 # default CUDA compute capabilities to use (override via --cuda-compute-capabilities)
-cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6']
+cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0']
 
 # make sure both static and shared libs are built
-local_common_opts = '-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler -DGPU_TARGET="%%(cuda_sm_space_sep)s"'
+# magma.so is large, compress it to avoid link failure
 configopts = [
-    (local_common_opts + ' -DBUILD_SHARED_LIBS=%s ') % local_shared for local_shared in ('ON', 'OFF')
+    '-DBUILD_SHARED_LIBS=%s -DCMAKE_CUDA_FLAGS="-Xfatbin -compress-all" \
+     -DGPU_TARGET="%%(cuda_sm_space_sep)s" ' % local_shared for local_shared in ('ON', 'OFF')
 ]
 
 sanity_check_paths = {
Diff against magma-2.7.2-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
index 6f1484e887..fe10cf77dc 100644
--- a/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/m/magma/magma-2.9.0-foss-2024a-CUDA-12.6.0.eb
@@ -1,38 +1,37 @@
 easyblock = 'CMakeMake'
 
 name = 'magma'
-version = '2.7.2'
+version = '2.9.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://icl.cs.utk.edu/magma/'
 description = """The MAGMA project aims to develop a dense linear algebra library similar to
  LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/']
 sources = [SOURCE_TAR_GZ]
-patches = ['%(name)s-2.7.2_allow-all-sms.patch']
 checksums = [
-    {'magma-2.7.2.tar.gz': '729bc1a70e518a7422fe7a3a54537a4741035a77be3349f66eac5c362576d560'},
-    {'magma-2.7.2_allow-all-sms.patch': '2996485844d7e199ea57eaebf59903d3514a03536f82b655ce30de480e28b828'},
+    {'magma-2.9.0.tar.gz': 'ff77fd3726b3dfec3bfb55790b06480aa5cc384396c2db35c56fdae4a82c641c'},
 ]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
+    ('CMake', '3.29.3'),
 ]
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('UCX-CUDA', '1.14.1', versionsuffix),
+    ('CUDA', '12.6.0', '', SYSTEM),
+    ('UCX-CUDA', '1.16.0', versionsuffix),
 ]
 
 # default CUDA compute capabilities to use (override via --cuda-compute-capabilities)
 cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0']
 
 # make sure both static and shared libs are built
+# magma.so is large, compress it to avoid link failure
 configopts = [
-    '-DBUILD_SHARED_LIBS=%s \
+    '-DBUILD_SHARED_LIBS=%s -DCMAKE_CUDA_FLAGS="-Xfatbin -compress-all" \
      -DGPU_TARGET="%%(cuda_sm_space_sep)s" ' % local_shared for local_shared in ('ON', 'OFF')
 ]
 

@jpecar
Copy link
Contributor Author

jpecar commented Jul 16, 2025

This will be needed for pytorch-2.6 cuda build ...

It needs a hack to tell nvcc to compress resulting .so files as without it they're so large that they fail to link. I'm open to suggestions how to rewrite it in a cleaner way.

@branfosj branfosj added this to the release after 5.1.1 milestone Jul 19, 2025
@branfosj
Copy link
Member

@boegelbot please test @ jsc-zen3-a100

@boegelbot
Copy link
Collaborator

@branfosj: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23432 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23432 --ntasks=8 --partition=jsczen3g --gres=gpu:1 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7296

Test results coming soon (I hope)...

Details

- notification for comment with ID 3092486095 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3g1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), 1 x NVIDIA NVIDIA A100 80GB PCIe, 555.42.06, Python 3.9.21
See https://gist.github.com/boegelbot/62e388e271564b380a2c7b432c27b080 for a full test report.

@branfosj
Copy link
Member

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0208u11a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), 1 x NVIDIA NVIDIA A100-SXM4-80GB, 560.35.05, Python 3.6.8
See https://gist.github.com/branfosj/61e45b0bd25c52fe4743580d0a05c6a8 for a full test report.

@branfosj
Copy link
Member

Going in, thanks @jpecar!

@branfosj branfosj merged commit 331ae0e into easybuilders:develop Jul 19, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants