mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Add Magma build for CUDA 13.0 (#160770)
Add magma build for CUDA 13.0 after almalinux docker is available https://github.com/pytorch/pytorch/issues/159779 Pull Request resolved: https://github.com/pytorch/pytorch/pull/160770 Approved by: https://github.com/atalman Co-authored-by: Andrey Talman <atalman@fb.com> Co-authored-by: Wei Wang <weiwan@nvidia.com>
This commit is contained in:
committed by
PyTorch MergeBot
parent
1853f71b4f
commit
b6852778ff
@ -16,6 +16,7 @@ DOCKER_RUN = set -eou pipefail; ${DOCKER_CMD} run --rm -i \
|
|||||||
magma/build_magma.sh
|
magma/build_magma.sh
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
all: magma-cuda130
|
||||||
all: magma-cuda129
|
all: magma-cuda129
|
||||||
all: magma-cuda128
|
all: magma-cuda128
|
||||||
all: magma-cuda126
|
all: magma-cuda126
|
||||||
@ -25,6 +26,12 @@ clean:
|
|||||||
$(RM) -r magma-*
|
$(RM) -r magma-*
|
||||||
$(RM) -r output
|
$(RM) -r output
|
||||||
|
|
||||||
|
.PHONY: magma-cuda130
|
||||||
|
magma-cuda130: DESIRED_CUDA := 13.0
|
||||||
|
magma-cuda130: CUDA_ARCH_LIST := -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
|
||||||
|
magma-cuda130:
|
||||||
|
$(DOCKER_RUN)
|
||||||
|
|
||||||
.PHONY: magma-cuda129
|
.PHONY: magma-cuda129
|
||||||
magma-cuda129: DESIRED_CUDA := 12.9
|
magma-cuda129: DESIRED_CUDA := 12.9
|
||||||
magma-cuda129: CUDA_ARCH_LIST += -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
|
magma-cuda129: CUDA_ARCH_LIST += -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
|
||||||
|
@ -28,6 +28,7 @@ pushd ${PACKAGE_DIR}/magma-${MAGMA_VERSION}
|
|||||||
patch < ${PACKAGE_FILES}/CMake.patch
|
patch < ${PACKAGE_FILES}/CMake.patch
|
||||||
patch < ${PACKAGE_FILES}/cmakelists.patch
|
patch < ${PACKAGE_FILES}/cmakelists.patch
|
||||||
patch -p0 < ${PACKAGE_FILES}/thread_queue.patch
|
patch -p0 < ${PACKAGE_FILES}/thread_queue.patch
|
||||||
|
patch -p1 < ${PACKAGE_FILES}/cuda13.patch
|
||||||
patch -p1 < ${PACKAGE_FILES}/getrf_shfl.patch
|
patch -p1 < ${PACKAGE_FILES}/getrf_shfl.patch
|
||||||
patch -p1 < ${PACKAGE_FILES}/getrf_nbparam.patch
|
patch -p1 < ${PACKAGE_FILES}/getrf_nbparam.patch
|
||||||
# The build.sh script expects to be executed from the sources root folder
|
# The build.sh script expects to be executed from the sources root folder
|
||||||
@ -37,6 +38,7 @@ popd
|
|||||||
# Package recipe, license and tarball
|
# Package recipe, license and tarball
|
||||||
# Folder and package name are backward compatible for the build workflow
|
# Folder and package name are backward compatible for the build workflow
|
||||||
cp ${PACKAGE_FILES}/build.sh ${PACKAGE_RECIPE}/build.sh
|
cp ${PACKAGE_FILES}/build.sh ${PACKAGE_RECIPE}/build.sh
|
||||||
|
cp ${PACKAGE_FILES}/cuda13.patch ${PACKAGE_RECIPE}/cuda13.patch
|
||||||
cp ${PACKAGE_FILES}/thread_queue.patch ${PACKAGE_RECIPE}/thread_queue.patch
|
cp ${PACKAGE_FILES}/thread_queue.patch ${PACKAGE_RECIPE}/thread_queue.patch
|
||||||
cp ${PACKAGE_FILES}/cmakelists.patch ${PACKAGE_RECIPE}/cmakelists.patch
|
cp ${PACKAGE_FILES}/cmakelists.patch ${PACKAGE_RECIPE}/cmakelists.patch
|
||||||
cp ${PACKAGE_FILES}/getrf_shfl.patch ${PACKAGE_RECIPE}/getrf_shfl.patch
|
cp ${PACKAGE_FILES}/getrf_shfl.patch ${PACKAGE_RECIPE}/getrf_shfl.patch
|
||||||
|
26
.ci/magma/package_files/cuda13.patch
Normal file
26
.ci/magma/package_files/cuda13.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/interface_cuda/interface.cpp b/interface_cuda/interface.cpp
|
||||||
|
index 73fed1b20..e77519bfe 100644
|
||||||
|
--- a/interface_cuda/interface.cpp
|
||||||
|
+++ b/interface_cuda/interface.cpp
|
||||||
|
@@ -438,14 +438,20 @@ magma_print_environment()
|
||||||
|
cudaDeviceProp prop;
|
||||||
|
err = cudaGetDeviceProperties( &prop, dev );
|
||||||
|
check_error( err );
|
||||||
|
+ #ifdef MAGMA_HAVE_CUDA
|
||||||
|
+#if CUDA_VERSION < 13000
|
||||||
|
printf( "%% device %d: %s, %.1f MHz clock, %.1f MiB memory, capability %d.%d\n",
|
||||||
|
dev,
|
||||||
|
prop.name,
|
||||||
|
prop.clockRate / 1000.,
|
||||||
|
+#else
|
||||||
|
+ printf( "%% device %d: %s, ??? MHz clock, %.1f MiB memory, capability %d.%d\n",
|
||||||
|
+ dev,
|
||||||
|
+ prop.name,
|
||||||
|
+#endif
|
||||||
|
prop.totalGlobalMem / (1024.*1024.),
|
||||||
|
prop.major,
|
||||||
|
prop.minor );
|
||||||
|
- #ifdef MAGMA_HAVE_CUDA
|
||||||
|
int arch = prop.major*100 + prop.minor*10;
|
||||||
|
if ( arch < MAGMA_CUDA_ARCH_MIN ) {
|
||||||
|
printf("\n"
|
2
.github/workflows/build-magma-linux.yml
vendored
2
.github/workflows/build-magma-linux.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
|||||||
id-token: write
|
id-token: write
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
cuda_version: ["129", "128", "126"]
|
cuda_version: ["130", "129", "128", "126"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PyTorch
|
- name: Checkout PyTorch
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
Reference in New Issue
Block a user