From ea2245b35cbfddb8c7473453b7d977b0a64f61b2 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Thu, 8 Sep 2022 02:16:52 +0200 Subject: Update containers to ubuntu 22.04, gcc-12; include perf/gdb; add python libraries for opencv, machine learning, etc. --- build/buildah-base.sh | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'build/buildah-base.sh') diff --git a/build/buildah-base.sh b/build/buildah-base.sh index 319ed6b..fcb3200 100644 --- a/build/buildah-base.sh +++ b/build/buildah-base.sh @@ -2,8 +2,13 @@ set -o errexit +tag=latest +[ -n "$1" ] && tag="$1" + #container=$(buildah from nvidia/cuda:10.1-devel-ubuntu18.04) -container=$(buildah from nvidia/cuda:11.3.0-devel-ubuntu20.04) +[ $tag == "20.04" ] && container=$(buildah from nvidia/cuda:11.3.0-devel-ubuntu20.04) +[ $tag == "22.04" ] && container=$(buildah from nvidia/cuda:11.7.1-devel-ubuntu22.04) +[ -n "$container" ] && container=$(buildah from nvidia/cuda:11.7.1-devel-ubuntu$tag) buildah config --label maintainer="Suren A. Chilingaryan " $container buildah config --env LANG="C.UTF-8" --env LC_ALL="C.UTF-8" --env TERM="xterm" $container @@ -24,12 +29,23 @@ buildah run $container sh -c 'echo "systemd-resolve:x:106:106:systemd-resolve:/d buildah run $container sh -c 'echo "systemd-timesync:x:107:" >> /etc/group' buildah run $container sh -c 'echo "systemd-timesync:x:107:107:systemd-timesync:/dev/null:/sbin/nologin" >> /etc/passwd' +# https://stackoverflow.com/questions/71941032/why-i-cannot-run-apt-update-inside-a-fresh-ubuntu22-04 +buildah run $container sh -c 'sed -i -e "s/^APT/# APT/" -e "s/^DPkg/# DPkg/" /etc/apt/apt.conf.d/docker-clean' -buildah run $container sh -c 'apt-get update --fix-missing && apt-get install -y bash wget bzip2 mc ca-certificates git openssh-server' +buildah run $container sh -c 'apt-get update --fix-missing && apt-get install -y bash wget bzip2 mc rar ca-certificates git openssh-server' buildah run $container sh -c 'apt-get install -y python3 python3-setuptools python3-pip cython3' buildah run $container sh -c 'apt-get install -y cmake make autoconf automake libtool gcc g++ libboost-all-dev' + +[ $tag == "22.04" ] && buildah run $container sh -c 'apt-get install -y gcc-12 g++-12' # First gcc version supporting _Float16 data type +[ $tag != "20.04" ] && buildah run $container sh -c 'apt-get install -y screen perf-tools-unstable gdb htop' # Debugging/Profilling tools buildah run $container sh -c 'apt-get install -y ca-certificates pkg-config gobject-introspection liblapack-dev libjpeg-dev libtiff-dev libglib2.0-dev libjson-glib-dev libopenmpi-dev libhdf5-dev libclfft-dev libgsl-dev libgirepository1.0-dev fftw3-dev zlib1g-dev' -buildah run $container sh -c 'apt-get install -y python3-dev python3-numpy python-gobject tifffile' + +# Problems with python3-tifffile (this should be ran after installing pkgconfig/gobject stuff) +buildah run $container sh -c 'sed -i -e "s/^post-invoke/# post-invoke/" /etc/dpkg/dpkg.cfg.d/pkg-config-hook-config' + +buildah run $container sh -c 'apt-get install -y python3-dev python3-numpy python3-gi python3-gi-cairo python3-tifffile' + +[ $tag != "20.04" ] && buildah run $container sh -c 'apt-get install -y python3-astropy python3-opencv python3-willow python3-pypillowfight python3-scipy python3-sklearn python3-skorch python3-tomopy' # Not needed for ccpi/ufo, but rather additional image-processing code for python buildah run $container sh -c 'apt-get install -y ocl-icd-opencl-dev clinfo' buildah run $container sh -c 'apt-get install -y jupyter-notebook' @@ -39,8 +55,10 @@ buildah run $container sh -c 'update-alternatives --install /usr/bin/python pyth buildah run $container mkdir -p /etc/OpenCL/vendors buildah run $container sh -c 'echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd' +[ $tag != "20.04" ] && buildah run $container sh -c 'rm /usr/bin/perf; ln -s /usr/lib/linux-tools/*/perf /usr/bin/perf' + buildah copy $container pre-setup /root/pre-setup buildah run $container pip3 install -r /root/pre-setup/requirements.txt buildah copy $container setup /root/setup -buildah commit --format docker $container pycuda:latest +buildah commit --format docker $container pycuda:$tag -- cgit v1.2.3