|
FROM nvcr.io/nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04 AS builder |
|
|
|
SHELL ["/bin/bash", "-c"] |
|
|
|
RUN \ |
|
export DEBIAN_FRONTEND=noninteractive &&\ |
|
sed -i.bak -r 's!(deb|deb-src) http://archive\.ubuntu\.com/\S+!\1 mirror://mirrors.ubuntu.com/mirrors.txt!' /etc/apt/sources.list &&\ |
|
apt-get update &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install \ |
|
curl gpg &&\ |
|
curl "https://keyserver.ubuntu.com/pks/lookup?search=0x1e9377a2ba9ef27f&op=get" | gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-toolchain-r.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/ubuntu-toolchain-r.gpg] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main" | tee /etc/apt/sources.list.d/ubuntu-toolchain-r-test-focal.list &&\ |
|
curl "https://apt.llvm.org/llvm-snapshot.gpg.key" | gpg --no-default-keyring --keyring /usr/share/keyrings/llvm-snapshot.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/focal/ llvm-toolchain-focal main" | tee /etc/apt/sources.list.d/llvm-toolchain-focal.list &&\ |
|
curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin" -o /etc/apt/preferences.d/cuda-repository-pin-600 &&\ |
|
curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub" | gpg --no-default-keyring --keyring /usr/share/keyrings/cuda.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/cuda.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" | tee /etc/apt/sources.list.d/cuda.list &&\ |
|
apt-get update &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install \ |
|
build-essential clang-14 libomp-14-dev g++-11 libopenblas-dev git ruby unzip vim-tiny \ |
|
libnvinfer-dev libnvinfer-plugin-dev libnvonnxparsers-dev libnvparsers-dev &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" upgrade &&\ |
|
apt-get clean &&\ |
|
rm -rf /var/lib/apt/lists/* &&\ |
|
rm /tmp/* -rf &&\ |
|
mkdir -p /workspace &&\ |
|
echo "2021_10_16_0000" |
|
|
|
#COPY yaneuraou.diff /workspace/yaneuraou.diff |
|
#COPY dlshogi.diff /workspace/dlshogi.diff |
|
|
|
WORKDIR /workspace |
|
|
|
RUN \ |
|
echo "shallow clone : shogi-server" &&\ |
|
git clone https://github.com/mizar/shogi-server.git /workspace/shogi-server -b wcsc2021 --depth 1 &&\ |
|
echo "shallow clone : YaneuraOu master" &&\ |
|
git clone https://github.com/yaneurao/YaneuraOu.git /workspace/YaneuraOu -b master --depth 1 &&\ |
|
echo "shallow clone : dlshogi master" &&\ |
|
git clone https://github.com/TadaoYamaoka/DeepLearningShogi.git /workspace/DeepLearningShogi -b master --depth 1 &&\ |
|
echo "build : FukauraOu" &&\ |
|
JOBS=`grep -c ^processor /proc/cpuinfo 2>/dev/null` &&\ |
|
cd /workspace/YaneuraOu/source &&\ |
|
# git apply /workspace/yaneuraou.diff &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_DEEP_TENSOR_RT TARGET_CPU=AVX2 COMPILER=g++-11 EXTRA_CPPFLAGS='-I/usr/local/cuda/include' EXTRA_LDFLAGS='-L/usr/local/cuda/lib64' normal >& >(tee /workspace/FukauraOu-gcc.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/FukauraOu-gcc &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_DEEP_TENSOR_RT clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_DEEP_TENSOR_RT TARGET_CPU=AVX2 COMPILER=clang++-14 EXTRA_CPPFLAGS='-I/usr/local/cuda/include' EXTRA_LDFLAGS='-L/usr/local/cuda/lib64' normal >& >(tee /workspace/FukauraOu-clang.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/FukauraOu-clang &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_DEEP_TENSOR_RT clean &&\ |
|
echo "build : YaneuraOu" &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=g++-11 normal >& >(tee /workspace/YaneuraOu-gcc-normal.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-gcc-normal &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=clang++-14 normal >& >(tee /workspace/YaneuraOu-clang-normal.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-clang-normal &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=g++-11 tournament >& >(tee /workspace/YaneuraOu-gcc-tournament.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-gcc-tournament &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=clang++-14 tournament >& >(tee /workspace/YaneuraOu-clang-tournament.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-clang-tournament &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=g++-11 evallearn >& >(tee /workspace/YaneuraOu-gcc-evallearn.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-gcc-evallearn &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
make -j${JOBS} YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE TARGET_CPU=AVX2 COMPILER=clang++-14 evallearn >& >(tee /workspace/YaneuraOu-clang-evallearn.log) &&\ |
|
mv YaneuraOu-by-gcc /workspace/YaneuraOu-clang-evallearn &&\ |
|
make YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE clean &&\ |
|
echo "build : dlshogi" &&\ |
|
cd /workspace/DeepLearningShogi/usi &&\ |
|
# git apply /workspace/dlshogi.diff &&\ |
|
make -j${JOBS} CC=g++-11 >& >(tee /workspace/dlshogi-gcc.log) &&\ |
|
mv bin/usi /workspace/dlshogi-gcc &&\ |
|
make clean &&\ |
|
make -j${JOBS} CC=clang++-14 >& >(tee /workspace/dlshogi-clang.log) &&\ |
|
mv bin/usi /workspace/dlshogi-clang &&\ |
|
make clean &&\ |
|
make -j${JOBS} CC=g++-11 make_book >& >(tee /workspace/make_book-gcc.log) &&\ |
|
mv bin/make_book /workspace/make_book-gcc &&\ |
|
make clean &&\ |
|
make -j${JOBS} CC=clang++-14 make_book >& >(tee /workspace/make_book-clang.log) &&\ |
|
mv bin/make_book /workspace/make_book-clang &&\ |
|
make clean &&\ |
|
echo "2021_10_16_0000" |
|
|
|
FROM nvcr.io/nvidia/cuda:11.4.2-cudnn8-runtime-ubuntu20.04 AS runner |
|
|
|
SHELL ["/bin/bash", "-c"] |
|
|
|
RUN \ |
|
export DEBIAN_FRONTEND=noninteractive &&\ |
|
sed -i.bak -r 's!(deb|deb-src) http://archive\.ubuntu\.com/\S+!\1 mirror://mirrors.ubuntu.com/mirrors.txt!' /etc/apt/sources.list &&\ |
|
apt-get update &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install \ |
|
curl gpg &&\ |
|
curl "https://keyserver.ubuntu.com/pks/lookup?search=0x1e9377a2ba9ef27f&op=get" | gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-toolchain-r.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/ubuntu-toolchain-r.gpg] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main" | tee /etc/apt/sources.list.d/ubuntu-toolchain-r-test-focal.list &&\ |
|
curl "https://apt.llvm.org/llvm-snapshot.gpg.key" | gpg --no-default-keyring --keyring /usr/share/keyrings/llvm-snapshot.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/focal/ llvm-toolchain-focal main" | tee /etc/apt/sources.list.d/llvm-toolchain-focal.list &&\ |
|
curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin" -o /etc/apt/preferences.d/cuda-repository-pin-600 &&\ |
|
curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub" | gpg --no-default-keyring --keyring /usr/share/keyrings/cuda.gpg --import - &&\ |
|
echo "deb [signed-by=/usr/share/keyrings/cuda.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" | tee /etc/apt/sources.list.d/cuda.list &&\ |
|
apt-get update &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install \ |
|
git ruby unzip vim-tiny libstdc++6 libgomp1 libomp5-14 libopenblas0 libnvinfer8 libnvinfer-plugin8 libnvonnxparsers8 libnvparsers8 &&\ |
|
apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" upgrade &&\ |
|
apt-get clean &&\ |
|
rm -rf /var/lib/apt/lists/* &&\ |
|
rm /tmp/* -rf &&\ |
|
mkdir -p /workspace/volume &&\ |
|
echo "2021_10_16_0000" |
|
|
|
RUN \ |
|
echo "download : suisho4kai" &&\ |
|
mkdir -p /workspace/suisho4kai/eval &&\ |
|
cd /workspace &&\ |
|
FILE_ID=1uDezE_TBIT1m0Zxz0vJbB0pdCzpT-D6U &&\ |
|
FILE_NAME=suisho4kai_20210826.zip &&\ |
|
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null &&\ |
|
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)" &&\ |
|
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o ${FILE_NAME} &&\ |
|
unzip -j ${FILE_NAME} **/engine_options.txt -d /workspace/suisho4kai &&\ |
|
unzip -j ${FILE_NAME} **/nn.bin -d /workspace/suisho4kai/eval &&\ |
|
rm ${FILE_NAME} &&\ |
|
echo "2021_10_16_0000" |
|
|
|
RUN \ |
|
echo "shallow clone : shogi-server" &&\ |
|
git clone https://github.com/mizar/shogi-server.git /workspace/shogi-server -b wcsc2021 --depth 1 &&\ |
|
echo "shallow clone : YaneuraOu master" &&\ |
|
git clone https://github.com/yaneurao/YaneuraOu.git /workspace/YaneuraOu -b master --depth 1 &&\ |
|
echo "shallow clone : dlshogi master" &&\ |
|
git clone https://github.com/TadaoYamaoka/DeepLearningShogi.git /workspace/DeepLearningShogi -b master --depth 1 &&\ |
|
echo "2021_10_16_0000" |
|
|
|
WORKDIR /workspace/volume |
|
|
|
COPY --from=builder \ |
|
/workspace/FukauraOu-gcc \ |
|
/workspace/FukauraOu-gcc.log \ |
|
/workspace/FukauraOu-clang \ |
|
/workspace/FukauraOu-clang.log \ |
|
/workspace/YaneuraOu-gcc-normal \ |
|
/workspace/YaneuraOu-gcc-normal.log \ |
|
/workspace/YaneuraOu-clang-normal \ |
|
/workspace/YaneuraOu-clang-normal.log \ |
|
/workspace/YaneuraOu-gcc-tournament \ |
|
/workspace/YaneuraOu-gcc-tournament.log \ |
|
/workspace/YaneuraOu-clang-tournament \ |
|
/workspace/YaneuraOu-clang-tournament.log \ |
|
/workspace/YaneuraOu-gcc-evallearn \ |
|
/workspace/YaneuraOu-gcc-evallearn.log \ |
|
/workspace/YaneuraOu-clang-evallearn \ |
|
/workspace/YaneuraOu-clang-evallearn.log \ |
|
/workspace/dlshogi-gcc \ |
|
/workspace/dlshogi-gcc.log \ |
|
/workspace/dlshogi-clang \ |
|
/workspace/dlshogi-clang.log \ |
|
/workspace/make_book-gcc \ |
|
/workspace/make_book-gcc.log \ |
|
/workspace/make_book-clang \ |
|
/workspace/make_book-clang.log \ |
|
/workspace/ |