Skip to content

Commit 7b870ed

Browse files
authored
add magma build for CUDA12.1 (#1368)
* add magma build for CUDA12.1 * copy and fix CMake.patch; drop sm_37 for CUDA 12.1
1 parent a88926a commit 7b870ed

File tree

5 files changed

+56
-11
lines changed

5 files changed

+56
-11
lines changed

.github/workflows/build-magma-linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
runs-on: linux.2xlarge
3131
strategy:
3232
matrix:
33-
cuda_version: ["118", "117", "116"]
33+
cuda_version: ["121", "118", "117"]
3434
steps:
3535
- name: Checkout PyTorch builder
3636
uses: actions/checkout@v3

magma/Makefile

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
SHELL=/usr/bin/env bash
22

3-
DESIRED_CUDA ?= 11.6
4-
PACKAGE_NAME ?= magma-cuda116
5-
CUDA_ARCH_LIST ?= -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86
3+
DESIRED_CUDA ?= 11.7
4+
PACKAGE_NAME ?= magma-cuda117
5+
CUDA_ARCH_LIST ?= -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86
66

77
DOCKER_RUN = set -eou pipefail; docker run --rm -i \
88
-v $(shell git rev-parse --show-toplevel):/builder \
@@ -14,30 +14,33 @@ DOCKER_RUN = set -eou pipefail; docker run --rm -i \
1414
magma/build_magma.sh
1515

1616
.PHONY: all
17+
all: magma-cuda121
1718
all: magma-cuda118
1819
all: magma-cuda117
19-
all: magma-cuda116
2020

2121
.PHONY:
2222
clean:
2323
$(RM) -r magma-*
2424
$(RM) -r output
2525

26+
.PHONY: magma-cuda121
27+
magma-cuda121: DESIRED_CUDA := 12.1
28+
magma-cuda121: PACKAGE_NAME := magma-cuda121
29+
magma-cuda121: CUDA_ARCH_LIST += -gencode arch=compute_90,code=sm_90
30+
magma-cuda121:
31+
$(DOCKER_RUN)
32+
2633
.PHONY: magma-cuda118
2734
magma-cuda118: DESIRED_CUDA := 11.8
2835
magma-cuda118: PACKAGE_NAME := magma-cuda118
29-
magma-cuda118: CUDA_ARCH_LIST += -gencode arch=compute_90,code=sm_90
36+
magma-cuda118: CUDA_ARCH_LIST += -gencode arch=compute_37,code=sm_37 -gencode arch=compute_90,code=sm_90
3037
magma-cuda118:
3138
$(DOCKER_RUN)
3239

3340
.PHONY: magma-cuda117
3441
magma-cuda117: DESIRED_CUDA := 11.7
3542
magma-cuda117: PACKAGE_NAME := magma-cuda117
43+
magma-cuda117: CUDA_ARCH_LIST += -gencode arch=compute_37,code=sm_37
3644
magma-cuda117:
3745
$(DOCKER_RUN)
3846

39-
.PHONY: magma-cuda116
40-
magma-cuda116: DESIRED_CUDA := 11.6
41-
magma-cuda116: PACKAGE_NAME := magma-cuda116
42-
magma-cuda116:
43-
$(DOCKER_RUN)

magma/build_magma.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ cp ${PACKAGE_FILES}/thread_queue.patch ${PACKAGE_DIR}/thread_queue.patch
1212
cp ${PACKAGE_FILES}/cmakelists.patch ${PACKAGE_DIR}/cmakelists.patch
1313
cp ${PACKAGE_FILES}/getrf_shfl.patch ${PACKAGE_DIR}/getrf_shfl.patch
1414
cp ${PACKAGE_FILES}/getrf_nbparam.patch ${PACKAGE_DIR}/getrf_nbparam.patch
15+
cp ${PACKAGE_FILES}/CMake.patch ${PACKAGE_DIR}/CMake.patch
1516

1617
conda install -yq conda-build conda-verify
1718
. ./conda/switch_cuda_version.sh "${DESIRED_CUDA}"

magma/package_files/CMake.patch

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--- CMake.src.cuda 2023-03-29 10:05:32.136954140 +0000
2+
+++ CMake.src.cuda 2023-03-29 10:05:50.281318043 +0000
3+
@@ -283,10 +283,10 @@
4+
magmablas/zgeadd.cu
5+
magmablas/zgeadd2.cu
6+
magmablas/zgeam.cu
7+
-magmablas/zgemm_fermi.cu
8+
+#magmablas/zgemm_fermi.cu
9+
magmablas/zgemm_reduce.cu
10+
magmablas/zgemv_conj.cu
11+
-magmablas/zgemv_fermi.cu
12+
+#magmablas/zgemv_fermi.cu
13+
magmablas/zgerbt.cu
14+
magmablas/zgerbt_kernels.cu
15+
magmablas/zgetmatrix_transpose.cpp
16+
@@ -1009,18 +1009,18 @@
17+
magmablas/sgeam.cu
18+
magmablas/dgeam.cu
19+
magmablas/cgeam.cu
20+
-magmablas/sgemm_fermi.cu
21+
-magmablas/dgemm_fermi.cu
22+
-magmablas/cgemm_fermi.cu
23+
+#magmablas/sgemm_fermi.cu
24+
+#magmablas/dgemm_fermi.cu
25+
+#magmablas/cgemm_fermi.cu
26+
magmablas/sgemm_reduce.cu
27+
magmablas/dgemm_reduce.cu
28+
magmablas/cgemm_reduce.cu
29+
magmablas/sgemv_conj.cu
30+
magmablas/dgemv_conj.cu
31+
magmablas/cgemv_conj.cu
32+
-magmablas/sgemv_fermi.cu
33+
-magmablas/dgemv_fermi.cu
34+
-magmablas/cgemv_fermi.cu
35+
+#magmablas/sgemv_fermi.cu
36+
+#magmablas/dgemv_fermi.cu
37+
+#magmablas/cgemv_fermi.cu
38+
magmablas/sgerbt.cu
39+
magmablas/dgerbt.cu
40+
magmablas/cgerbt.cu

magma/package_files/meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ source:
99
- thread_queue.patch
1010
- getrf_shfl.patch # incorrect results for <7.0 arch
1111
- getrf_nbparam.patch # fixes "too many resources requested for launch" error
12+
- CMake.patch # removes fermi for CUDA12+
1213

1314
build:
1415
number: 1

0 commit comments

Comments
 (0)