-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #549 from janden/cufinufft_wheel_building
Update cufinufft wheel building scripts
- Loading branch information
Showing
7 changed files
with
132 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
These configurations are based off of manylinux2014, which is itself based off | ||
of centos8. | ||
|
||
These images extend manylinux with a compatible CUDA toolkit and runtime | ||
environment suitable for both building and running code inside docker. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
FROM quay.io/pypa/manylinux2014_x86_64 | ||
LABEL maintainer "Joakim Andén" | ||
|
||
ENV CUDA_MAJOR 11 | ||
ENV CUDA_MINOR 8 | ||
ENV CUDA_DASH_VERSION ${CUDA_MAJOR}-${CUDA_MINOR} | ||
ENV CUDA_DOT_VERSION ${CUDA_MAJOR}.${CUDA_MINOR} | ||
|
||
# ---- The following block adds layers for CUDA --- # | ||
# base | ||
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \ | ||
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/D42D0685.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \ | ||
echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict - | ||
|
||
COPY tools/cufinufft/docker/cuda${CUDA_DOT_VERSION}/cuda.repo /etc/yum.repos.d/cuda.repo | ||
|
||
# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a | ||
RUN yum install -y \ | ||
cuda-cudart-${CUDA_DASH_VERSION} \ | ||
cuda-compat-${CUDA_DASH_VERSION} && \ | ||
ln -s cuda-${CUDA_DOT_VERSION} /usr/local/cuda && \ | ||
rm -rf /var/cache/yum/* | ||
|
||
# nvidia-docker 1.0 | ||
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \ | ||
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf | ||
|
||
ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} | ||
ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 | ||
|
||
# nvidia-container-runtime | ||
ENV NVIDIA_VISIBLE_DEVICES all | ||
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility | ||
ENV NVIDIA_REQUIRE_CUDA "cuda>=${CUDA_DOT_VERSION} brand=tesla,driver>=418,driver<419 brand=tesla,driver>=440,driver<441" | ||
|
||
# runtime | ||
RUN yum install -y \ | ||
cuda-libraries-${CUDA_DASH_VERSION} \ | ||
cuda-nvtx-${CUDA_DASH_VERSION} && \ | ||
rm -rf /var/cache/yum/* | ||
|
||
# devel | ||
RUN yum install -y \ | ||
cuda-cudart-devel-${CUDA_DASH_VERSION} \ | ||
cuda-libraries-devel-${CUDA_DASH_VERSION} \ | ||
cuda-nvprof-${CUDA_DASH_VERSION} \ | ||
cuda-nvcc-${CUDA_DASH_VERSION} && \ | ||
rm -rf /var/cache/yum/* | ||
|
||
ENV LIBRARY_PATH /usr/local/cuda/lib64/stubs | ||
|
||
# /CUDA # | ||
|
||
# CUDA 11 doesn't work on gcc/g++ newer than v9 | ||
RUN yum install -y \ | ||
devtoolset-9-gcc \ | ||
devtoolset-9-gcc-c++ && \ | ||
rm -rf /var/cache/yum/* | ||
|
||
ENV PATH /opt/rh/devtoolset-9/root/usr/bin:${PATH} | ||
|
||
# finufft reqs | ||
RUN yum install -y \ | ||
cmake && \ | ||
rm -rf /var/cache/yum/* | ||
|
||
# pick py312 as default | ||
RUN ln -s /opt/python/cp312-cp312/bin/python3 /usr/bin/python3 | ||
|
||
# upgrade pip, install auditwheel | ||
RUN python3 -m pip install --no-cache-dir --upgrade pip && \ | ||
python3 -m pip install --no-cache-dir --upgrade auditwheel | ||
|
||
CMD ["/bin/bash"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[cuda] | ||
name=cuda | ||
baseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64 | ||
enabled=1 | ||
gpgcheck=1 | ||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters