mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
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>
53 lines
2.4 KiB
Bash
Executable File
53 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eou pipefail
|
|
|
|
# Environment variables
|
|
# The script expects DESIRED_CUDA and PACKAGE_NAME to be set
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
MAGMA_VERSION=2.6.1
|
|
|
|
# Folders for the build
|
|
PACKAGE_FILES=${ROOT_DIR}/magma/package_files # source patches and metadata
|
|
PACKAGE_DIR=${ROOT_DIR}/magma/${PACKAGE_NAME} # build workspace
|
|
PACKAGE_OUTPUT=${ROOT_DIR}/magma/output # where tarballs are stored
|
|
PACKAGE_BUILD=${PACKAGE_DIR}/build # where the content of the tarball is prepared
|
|
PACKAGE_RECIPE=${PACKAGE_BUILD}/info/recipe
|
|
PACKAGE_LICENSE=${PACKAGE_BUILD}/info/licenses
|
|
mkdir -p ${PACKAGE_DIR} ${PACKAGE_OUTPUT}/linux-64 ${PACKAGE_BUILD} ${PACKAGE_RECIPE} ${PACKAGE_LICENSE}
|
|
|
|
# Fetch magma sources and verify checksum
|
|
pushd ${PACKAGE_DIR}
|
|
curl -LO http://icl.utk.edu/projectsfiles/magma/downloads/magma-${MAGMA_VERSION}.tar.gz
|
|
tar zxf magma-${MAGMA_VERSION}.tar.gz
|
|
sha256sum --check < ${PACKAGE_FILES}/magma-${MAGMA_VERSION}.sha256
|
|
popd
|
|
|
|
# Apply patches and build
|
|
pushd ${PACKAGE_DIR}/magma-${MAGMA_VERSION}
|
|
patch < ${PACKAGE_FILES}/CMake.patch
|
|
patch < ${PACKAGE_FILES}/cmakelists.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_nbparam.patch
|
|
# The build.sh script expects to be executed from the sources root folder
|
|
INSTALL_DIR=${PACKAGE_BUILD} ${PACKAGE_FILES}/build.sh
|
|
popd
|
|
|
|
# Package recipe, license and tarball
|
|
# Folder and package name are backward compatible for the build workflow
|
|
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}/cmakelists.patch ${PACKAGE_RECIPE}/cmakelists.patch
|
|
cp ${PACKAGE_FILES}/getrf_shfl.patch ${PACKAGE_RECIPE}/getrf_shfl.patch
|
|
cp ${PACKAGE_FILES}/getrf_nbparam.patch ${PACKAGE_RECIPE}/getrf_nbparam.patch
|
|
cp ${PACKAGE_FILES}/CMake.patch ${PACKAGE_RECIPE}/CMake.patch
|
|
cp ${PACKAGE_FILES}/magma-${MAGMA_VERSION}.sha256 ${PACKAGE_RECIPE}/magma-${MAGMA_VERSION}.sha256
|
|
cp ${PACKAGE_DIR}/magma-${MAGMA_VERSION}/COPYRIGHT ${PACKAGE_LICENSE}/COPYRIGHT
|
|
pushd ${PACKAGE_BUILD}
|
|
tar cjf ${PACKAGE_OUTPUT}/linux-64/${PACKAGE_NAME}-${MAGMA_VERSION}-1.tar.bz2 include lib info
|
|
echo Built in ${PACKAGE_OUTPUT}/linux-64/${PACKAGE_NAME}-${MAGMA_VERSION}-1.tar.bz2
|
|
popd
|