summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2021-10-26 12:47:20 +0200
committerWillem Jan Palenstijn <wjp@usecode.org>2021-10-26 22:15:42 +0200
commit2abeca9134f95fe656e117332f892203da4aa7fa (patch)
tree54216cd99124b744984ee181936e4670027a973b
parent52f9235933a2e97788b288bb3903215353132e97 (diff)
downloadastra-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--.gitignore5
-rw-r--r--python/conda/libastra/linux_deb11_build_config.yaml8
-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.yaml3
-rwxr-xr-xpython/conda/linux_release/build.sh (renamed from python/conda/linux_release/buildenv/build.sh)8
-rw-r--r--python/conda/linux_release/buildenv.deb11/Dockerfile50
-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.sh43
10 files changed, 111 insertions, 26 deletions
diff --git a/.gitignore b/.gitignore
index 77ca5c0..b203e2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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