diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2021-10-26 12:47:20 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <wjp@usecode.org> | 2021-10-26 22:15:42 +0200 |
commit | 2abeca9134f95fe656e117332f892203da4aa7fa (patch) | |
tree | 54216cd99124b744984ee181936e4670027a973b | |
parent | 52f9235933a2e97788b288bb3903215353132e97 (diff) | |
download | astra-2abeca9134f95fe656e117332f892203da4aa7fa.tar.gz astra-2abeca9134f95fe656e117332f892203da4aa7fa.tar.bz2 astra-2abeca9134f95fe656e117332f892203da4aa7fa.tar.xz astra-2abeca9134f95fe656e117332f892203da4aa7fa.zip |
Reorganize docker environments
Now using debian8, debian9, debian11 for cuda 8 - 11.4
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | python/conda/libastra/linux_deb11_build_config.yaml | 8 | ||||
-rw-r--r-- | python/conda/libastra/linux_deb8_build_config.yaml (renamed from python/conda/libastra/linux_archive_build_config.yaml) | 0 | ||||
-rw-r--r-- | python/conda/libastra/linux_deb9_build_config.yaml (renamed from python/conda/libastra/linux_build_config.yaml) | 4 | ||||
-rw-r--r-- | python/conda/libastra/meta.yaml | 3 | ||||
-rwxr-xr-x | python/conda/linux_release/build.sh (renamed from python/conda/linux_release/buildenv/build.sh) | 8 | ||||
-rw-r--r-- | python/conda/linux_release/buildenv.deb11/Dockerfile | 50 | ||||
-rw-r--r-- | python/conda/linux_release/buildenv.deb8/Dockerfile (renamed from python/conda/linux_release/buildenv/archive.Dockerfile) | 6 | ||||
-rw-r--r-- | python/conda/linux_release/buildenv.deb9/Dockerfile (renamed from python/conda/linux_release/buildenv/Dockerfile) | 10 | ||||
-rw-r--r-- | python/conda/linux_release/release.sh | 43 |
10 files changed, 111 insertions, 26 deletions
@@ -15,6 +15,11 @@ __pycache__ /python/astra/*.c /python/astra/config.pxi +/python/conda/linux_release/buildenv*/*.sh +/python/conda/linux_release/buildenv*/*.run +/python/conda/linux_release/buildenv*/cuda* +/python/conda/linux_release/pkgs/* + /build/linux/.libs/* /build/linux/Makefile /build/linux/aclocal.m4 diff --git a/python/conda/libastra/linux_deb11_build_config.yaml b/python/conda/libastra/linux_deb11_build_config.yaml new file mode 100644 index 0000000..1ab563e --- /dev/null +++ b/python/conda/libastra/linux_deb11_build_config.yaml @@ -0,0 +1,8 @@ +cudatoolkit: + - 11.2 + - 11.3 + - 11.4 +c_compiler_version: # [linux or win] + - 9.3 # [linux or win] +cxx_compiler_version: # [linux or win] + - 9.3 # [linux or win] diff --git a/python/conda/libastra/linux_archive_build_config.yaml b/python/conda/libastra/linux_deb8_build_config.yaml index 347557b..347557b 100644 --- a/python/conda/libastra/linux_archive_build_config.yaml +++ b/python/conda/libastra/linux_deb8_build_config.yaml diff --git a/python/conda/libastra/linux_build_config.yaml b/python/conda/libastra/linux_deb9_build_config.yaml index ab26115..61303a3 100644 --- a/python/conda/libastra/linux_build_config.yaml +++ b/python/conda/libastra/linux_deb9_build_config.yaml @@ -2,6 +2,6 @@ cudatoolkit: - 11.0 - 11.1 c_compiler_version: # [linux or win] - - 5.4 # [linux or win] + - 7.3 # [linux or win] cxx_compiler_version: # [linux or win] - - 5.4 # [linux or win] + - 7.3 # [linux or win] diff --git a/python/conda/libastra/meta.yaml b/python/conda/libastra/meta.yaml index 4215fd1..0d0c7cf 100644 --- a/python/conda/libastra/meta.yaml +++ b/python/conda/libastra/meta.yaml @@ -22,7 +22,10 @@ requirements: - boost # [osx or linux] - cudatoolkit {{ cudatoolkit }} # [linux] # libstdcxx-ng 9.3 introduces extra host system requirements on glibc + # For the older systems (debian8, debian9) we use g++ 5.4 and 7.3, resp. + {% if cxx_compiler_version in ['5.4', '7.3'] -%} - libstdcxx-ng <9.3 # [linux] + {% endif %} run: # See: https://github.com/conda-forge/conda-forge.github.io/issues/687#issuecomment-460095230 - {{ pin_compatible('cudatoolkit', max_pin='x.x') }} # [linux] diff --git a/python/conda/linux_release/buildenv/build.sh b/python/conda/linux_release/build.sh index b122618..e4664da 100755 --- a/python/conda/linux_release/buildenv/build.sh +++ b/python/conda/linux_release/build.sh @@ -16,14 +16,10 @@ git clone --depth 1 --branch ${BRANCH} ${URL} [ $# -eq 0 ] || perl -pi -e "s/^(\s*string:.+_)[0-9]+/\${1}$2/" astra-toolbox/python/conda/libastra/meta.yaml [ $# -eq 0 ] || perl -pi -e "s/^(\s*-\s*libastra\s*==\s*)[0-9a-z+\.]+$/\${1}$1/" astra-toolbox/python/conda/astra-toolbox/meta.yaml -if [ x$3 = xarchive ]; then - CONF=linux_archive_build_config.yaml -else - CONF=linux_build_config.yaml -fi +CONF=linux_$3_build_config.yaml conda-build -c nvidia -m astra-toolbox/python/conda/libastra/${CONF} astra-toolbox/python/conda/libastra -[ x$3 = xarchive ] || conda-build -c nvidia -m astra-toolbox/python/conda/astra-toolbox/linux_build_config.yaml astra-toolbox/python/conda/astra-toolbox +[ x$4 = xfull ] && conda-build -c nvidia -m astra-toolbox/python/conda/astra-toolbox/linux_build_config.yaml astra-toolbox/python/conda/astra-toolbox cp /root/miniconda3/conda-bld/linux-64/*astra* /out diff --git a/python/conda/linux_release/buildenv.deb11/Dockerfile b/python/conda/linux_release/buildenv.deb11/Dockerfile new file mode 100644 index 0000000..9c892f5 --- /dev/null +++ b/python/conda/linux_release/buildenv.deb11/Dockerfile @@ -0,0 +1,50 @@ +FROM debian:11 AS BUILDBASE +ENV DEBIAN_FRONTEND noninteractive +#RUN echo 'deb http://archive.debian.org/debian/ wheezy main' > /etc/apt/sources.list && echo 'deb http://archive.debian.org/debian-security/ wheezy/updates main' >> /etc/apt/sources.list && apt-get -o Acquire::Check-Valid-Until=false update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/* + +ENV PATH /root/miniconda3/bin:$PATH +COPY Miniconda3-py39_4.10.3-Linux-x86_64.sh /root/ +RUN /bin/bash /root/Miniconda3-py39_4.10.3-Linux-x86_64.sh -b && \ + rm -f /root/Miniconda3* + +RUN conda install -y conda-build conda-verify + +FROM BUILDBASE AS CUDA115 +RUN touch /root/cuda115 +COPY cuda_11.5.0_495.29.05_linux.run /root +RUN /bin/bash /root/cuda_11.5.0_495.29.05_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.5 && \ + rm -f /root/cuda_11.5.0_495.29.05_linux.run + + +FROM BUILDBASE AS CUDA114 +RUN touch /root/cuda114 +COPY cuda_11.4.1_470.57.02_linux.run /root +RUN /bin/bash /root/cuda_11.4.1_470.57.02_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.4 && \ + rm -f /root/cuda_11.4.1_470.57.02_linux.run + + +FROM BUILDBASE AS CUDA113 +RUN touch /root/cuda113 +COPY cuda_11.3.1_465.19.01_linux.run /root +RUN /bin/bash /root/cuda_11.3.1_465.19.01_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.3 && \ + rm -f /root/cuda_11.3.1_465.19.01_linux.run + +FROM BUILDBASE AS CUDA112 +RUN touch /root/cuda112 +COPY cuda_11.2.2_460.32.03_linux.run /root +RUN /bin/bash /root/cuda_11.2.2_460.32.03_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.2 && \ + rm -f /root/cuda_11.2.2_460.32.03_linux.run + +FROM BUILDBASE +RUN touch /root/cuda +COPY --from=CUDA115 /usr/local/cuda-11.5 /usr/local/cuda-11.5 +COPY --from=CUDA114 /usr/local/cuda-11.4 /usr/local/cuda-11.4 +COPY --from=CUDA113 /usr/local/cuda-11.3 /usr/local/cuda-11.3 +COPY --from=CUDA112 /usr/local/cuda-11.2 /usr/local/cuda-11.2 + +RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=11.4 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=11.3 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=11.2 +# 11.5 still has unresolved dependencies in default channels +# conda create -y -n prep -c nvidia --download-only cudatoolkit=11.5 diff --git a/python/conda/linux_release/buildenv/archive.Dockerfile b/python/conda/linux_release/buildenv.deb8/Dockerfile index 6096b07..be38743 100644 --- a/python/conda/linux_release/buildenv/archive.Dockerfile +++ b/python/conda/linux_release/buildenv.deb8/Dockerfile @@ -65,3 +65,9 @@ COPY --from=CUDA92 /usr/local/cuda-9.2 /usr/local/cuda-9.2 COPY --from=CUDA90 /usr/local/cuda-9.0 /usr/local/cuda-9.0 COPY --from=CUDA80 /usr/local/cuda-8.0 /usr/local/cuda-8.0 +RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=10.2 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=10.1 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=10.0 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=9.2 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=9.0 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=8.0 diff --git a/python/conda/linux_release/buildenv/Dockerfile b/python/conda/linux_release/buildenv.deb9/Dockerfile index 7098dc8..5bb25f9 100644 --- a/python/conda/linux_release/buildenv/Dockerfile +++ b/python/conda/linux_release/buildenv.deb9/Dockerfile @@ -10,12 +10,6 @@ RUN /bin/bash /root/Miniconda3-py39_4.10.3-Linux-x86_64.sh -b && \ RUN conda install -y conda-build conda-verify -FROM BUILDBASE AS CUDA112 -RUN touch /root/cuda112 -COPY cuda_11.2.2_460.32.03_linux.run /root -RUN /bin/bash /root/cuda_11.2.2_460.32.03_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.2 && \ - rm -f /root/cuda_11.2.2_460.32.03_linux.run - FROM BUILDBASE AS CUDA111 RUN touch /root/cuda111 COPY cuda_11.1.1_455.32.00_linux.run /root @@ -31,8 +25,8 @@ RUN /bin/bash /root/cuda_11.0.3_450.51.06_linux.run --toolkit --silent --install FROM BUILDBASE RUN touch /root/cuda -COPY --from=CUDA112 /usr/local/cuda-11.2 /usr/local/cuda-11.2 COPY --from=CUDA111 /usr/local/cuda-11.1 /usr/local/cuda-11.1 COPY --from=CUDA110 /usr/local/cuda-11.0 /usr/local/cuda-11.0 - +RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=11.1 && \ + conda create -y -n prep -c nvidia --download-only cudatoolkit=11.0 diff --git a/python/conda/linux_release/release.sh b/python/conda/linux_release/release.sh index 9b549cd..a936fbe 100644 --- a/python/conda/linux_release/release.sh +++ b/python/conda/linux_release/release.sh @@ -4,25 +4,48 @@ set -e D=`mktemp -d` -for F in https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run ; do - [ -f buildenv/`basename $F` ] || (cd buildenv; wget $F ) +for F in \ + https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \ + https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run \ + https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run \ + https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run \ + https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux \ + https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux \ + http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run \ + http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run \ +; do + [ -f buildenv.deb8/`basename $F` ] || (cd buildenv.deb8; wget $F ) done - -for F in https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run ; do - [ -f buildenv/`basename $F` ] || (cd buildenv; wget $F ) +for F in \ + https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \ + https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run \ + https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run \ +; do + [ -f buildenv.deb9/`basename $F` ] || (cd buildenv.deb9; wget $F ) done +for F in \ + https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \ + https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run \ + https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run \ + https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run \ + https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run \ +; do + [ -f buildenv.deb11/`basename $F` ] || (cd buildenv.deb11; wget $F ) +done -docker build -t astra-build-env buildenv -docker build -t astra-build-env-archive -f buildenv/archive.Dockerfile buildenv +docker build -t astra-build-env-deb8 buildenv.deb8 +docker build -t astra-build-env-deb9 buildenv.deb9 +docker build -t astra-build-env-deb11 buildenv.deb11 -cp buildenv/build.sh $D +cp build.sh $D V=1.9.9.dev7 -docker run -v $D:/out:z astra-build-env-archive /bin/bash /out/build.sh $V 0 archive -docker run -v $D:/out:z astra-build-env /bin/bash /out/build.sh $V 0 +docker run -v $D:/out:z astra-build-env-deb8 /bin/bash /out/build.sh $V 0 deb8 +docker run -v $D:/out:z astra-build-env-deb9 /bin/bash /out/build.sh $V 0 deb9 full +docker run -v $D:/out:z astra-build-env-deb11 /bin/bash /out/build.sh $V 0 deb11 rm -f $D/build.sh |