From 36498a8b8e050d80e33b2fa300acc646c78a84f8 Mon Sep 17 00:00:00 2001 From: Niklas Eiling Date: Tue, 18 Jul 2023 16:28:01 +0200 Subject: [PATCH] remove cuda 10 support, add cudnn CI test Signed-off-by: Niklas Eiling --- .gitlab-ci.yml | 55 +++++++++++------------------------------ tests/samples/Makefile | 8 ++++-- utils/Dockerfile.cuda10 | 45 --------------------------------- 3 files changed, 20 insertions(+), 88 deletions(-) delete mode 100644 utils/Dockerfile.cuda10 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b3908604..df9b8eb4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,16 +41,6 @@ prepare:centos8:cuda11: tags: - docker -prepare:centos8:cuda10: - stage: prepare - script: - - docker build - --file utils/Dockerfile.cuda10 - --tag ${DOCKER_IMAGE_DEV}_cuda10:${DOCKER_TAG} - --tag ${DOCKER_IMAGE_DEV}_cuda10:latest . - tags: - - docker - # check if styleguide is fulfilled #style_check: # stage: build @@ -78,6 +68,7 @@ build: paths: - bin - tests/bin + - tests/samples/samples-bin image: ${DOCKER_IMAGE_DEV}:${DOCKER_TAG} cache: paths: @@ -144,32 +135,6 @@ build:cuda11: tags: - docker -build:cuda10: - stage: build - needs: ["prepare:centos8:cuda10"] - script: - - make -j 32 libtirpc - - make -j 32 cuda-gdb - - make -j 1 LOG=INFO NOSAMPLES=yes - artifacts: - expire_in: 1 week - paths: - - bin - - tests/bin - image: ${DOCKER_IMAGE_DEV}_cuda10:${DOCKER_TAG} - cache: - paths: - - gpu/build - - cpu/*.o - - tests/cpu/*.o - - tests/test_apps/*.o - - submodules/libtirpc - - submodules/cuda-gdb - - submodules/cuda-gdb-src.rpm - key: build_cuda10 - tags: - - docker - build:debug: stage: build needs: ["prepare:rocky9:docker-dev"] @@ -206,6 +171,7 @@ build:debug: LDIR: '$CI_BUILDS_DIR/$CI_PROJECT_PATH/bin' SAMPLES_PATH: '/usr/local/cuda/samples' PARAMETER: '' + CHDIR: 'tests' script: - mkdir ~/.ssh && echo "-----BEGIN OPENSSH PRIVATE KEY-----" > ~/.ssh/id_rsa && @@ -217,7 +183,8 @@ build:debug: - scp -r $LDIR/* $GPU_TARGET:$RDIR/ - ssh $GPU_TARGET "LD_PRELOAD=$RDIR/libtirpc.so.3 $RDIR/cricket-rpc-server 255" & - sleep 2 - - CRICKET_RPCID=255 REMOTE_GPU_ADDRESS="ghost.acs-lab.eonerc.rwth-aachen.de" PATH=$LDIR:$PATH LD_PRELOAD=$LDIR/libtirpc.so.3:$LDIR/cricket-client.so $LDIR/$TEST_BINARY $PARAMETER + - cd $LDIR/$CHDIR + - CRICKET_RPCID=255 REMOTE_GPU_ADDRESS="ghost.acs-lab.eonerc.rwth-aachen.de" PATH=$LDIR:$PATH LD_PRELOAD=$LDIR/libtirpc.so.3:$LDIR/cricket-client.so ./$TEST_BINARY $PARAMETER after_script: - ssh $GPU_TARGET rm -rf $RDIR - ssh $GPU_TARGET pkill -fe -2 $RDIR/test_kernel @@ -252,21 +219,27 @@ test:test_programs(2/2): test:test_kernel: extends: .remote-gpu variables: - TEST_BINARY: 'tests/kernel.testapp' + TEST_BINARY: 'kernel.testapp' test:samples:matrixMul: extends: .remote-gpu variables: - TEST_BINARY: 'tests/matrixMul.compressed.sample' + TEST_BINARY: 'matrixMul.compressed.sample' test:samples:bandwidthTest: extends: .remote-gpu variables: - TEST_BINARY: 'tests/bandwidthTest.sample' + TEST_BINARY: 'bandwidthTest.sample' test:samples:nbody: extends: .remote-gpu variables: - TEST_BINARY: 'tests/nbody.uncompressed.sample' + TEST_BINARY: 'nbody.uncompressed.sample' PARAMETER: '-benchmark' +test:samples:mnistCUDNN: + extends: .remote-gpu + variables: + CHDIR: '../tests/samples/samples-bin' + TEST_BINARY: 'mnistCUDNN.sample' + diff --git a/tests/samples/Makefile b/tests/samples/Makefile index d52596db..3d173236 100644 --- a/tests/samples/Makefile +++ b/tests/samples/Makefile @@ -5,7 +5,8 @@ SAMPLES = samples-bin/matrixMul.compressed.sample \ samples-bin/matrixMul.uncompressed.sample \ samples-bin/nbody.uncompressed.sample \ samples-bin/nbody.compressed.sample \ - samples-bin/bandwidthTest.sample + samples-bin/bandwidthTest.sample \ + samples-bin/mnistCUDNN.sample CUDA_PATH = /usr/local/cuda SMS = 75 60 @@ -30,7 +31,10 @@ cudnn-samples: samples-bin: mkdir -p $@ -samples-bin/mnistCUDNN.sample : cudnn-samples samples-bin +samples-bin/data: + cp -R ../cudnn-samples/mnistCUDNN/data $@ + +samples-bin/mnistCUDNN.sample : cudnn-samples samples-bin samples-bin/data make -C cudnn-samples/mnistCUDNN \ clean make -C cudnn-samples/mnistCUDNN \ diff --git a/utils/Dockerfile.cuda10 b/utils/Dockerfile.cuda10 deleted file mode 100644 index 391c130e..00000000 --- a/utils/Dockerfile.cuda10 +++ /dev/null @@ -1,45 +0,0 @@ -FROM centos:8 - -LABEL \ - org.label-schema.schema-version = "1.0" \ - org.label-schema.name = "cricket" \ - org.label-schema.license = "MIT" \ - org.label-schema.vendor = "Institute for Automation of Complex Power Systems, RWTH Aachen University" \ - org.label-schema.author.name = "Niklas Eiling" \ - org.label-schema.author.email = "niklas.eiling@eonerc.rwth-aachen.de" \ - org.label-schema.vcs-url = "https://git.rwth-aachen.de/niklas.eiling/cricket" - -RUN cd /etc/yum.repos.d/ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && yum update -y - -RUN dnf -y update && \ - dnf install -y epel-release dnf-plugins-core && \ - dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm && \ - dnf config-manager --set-enabled powertools && \ - dnf config-manager --set-enabled remi - -RUN dnf install -y make bash git gcc autoconf libtool automake rpcgen \ - ncurses-devel zlib-devel binutils-devel mesa-libGL-devel \ - libvdpau-devel mesa-libEGL-devel openssl-devel rpcbind \ - texinfo bison flex python3 which libibverbs libasan \ - cppcheck wget expat-devel xz-devel elfutils-libelf-devel \ - freeimage freeimage-devel - -ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH}" - -RUN dnf --refresh -y install https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-repo-rhel8-10.2.89-1.x86_64.rpm && \ - rpm --import https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/D42D0685.pub && \ - dnf --refresh -y install cuda-compiler-10-2 cuda-libraries-dev-10-2 cuda-samples-10-2 cuda-driver-dev-10-2 cuda-misc-headers-10-2 cuda-nvml-dev-10-2 nvidia-driver-NVML-530.30.02 libcudnn8-devel && \ - ln -s cuda-10.2 /usr/local/cuda && \ - ln -s libcuda.so /usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so.1 - - -ENV PATH="/usr/local/cuda/bin:${PATH}" -ENV LIBRARY_PATH="/usr/local/cuda/targets/x86_64-linux/lib/stubs:$(LIBRARY_PATH}" -ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib/stubs:${LD_LIBRARY_PATH}" - -#COPY --chown=root .ssh /root/.ssh - -WORKDIR /cricket - -ENTRYPOINT /bin/bash -