From 49ca1e39064b400d86425cb3cdbbe6184a4897b8 Mon Sep 17 00:00:00 2001 From: "Mulas, Giacomo" <gmulas@oa-cagliari.inaf.it> Date: Tue, 13 Feb 2024 16:37:45 +0100 Subject: [PATCH] Add more compiler tests --- .gitlab-ci.yml | 20 +++++++++++------- containers/docker/Dockerfile | 15 +++++++++++-- .../docker/dockerstuff/intelcomps/oneAPI.list | 1 + .../intelcomps/oneapi-archive-keyring.gpg | Bin 0 -> 3206 bytes 4 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 containers/docker/dockerstuff/intelcomps/oneAPI.list create mode 100644 containers/docker/dockerstuff/intelcomps/oneapi-archive-keyring.gpg diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e1a7dab..a4282e2b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,14 +51,18 @@ building_stage: - make clean && BUILDDIR=$PWD/../build_gnu11 CXX=g++-11 FC=gfortran-11 make -j - echo "Running make with gnu compilers version 12..." - make clean && BUILDDIR=$PWD/../build_gnu12 CXX=g++-12 FC=gfortran-12 make -j - - echo "Running make with gnu fortran version 12 and clang version 13..." - - make clean && BUILDDIR=$PWD/../build_clang13 CXX="clang++-13 -stdlib=libc++" FC=gfortran-12 make -j - - echo "Running make with gnu fortran version 12 and clang version 14..." - - make clean && BUILDDIR=$PWD/../build_clang14 CXX="clang++-14 -stdlib=libc++" FC=gfortran-12 make -j - - echo "Running make with gnu fortran version 12 and clang version 15..." - - make clean && BUILDDIR=$PWD/../build_clang15 CXX="clang++-15 -stdlib=libc++" FC=gfortran-12 make -j - - echo "Running make with gnu fortran version 12 and clang version 16..." - - make clean && BUILDDIR=$PWD/../build_clang16 CXX="clang++-16 -stdlib=libc++" FC=gfortran-12 make -j + - echo "Running make with flang version 16 and clang version 13..." + - make clean && BUILDDIR=$PWD/../build_clang13-flang16 CXX="clang++-13 -stdlib=libc++" FC=flang-new-16 FCFLAGS=-O3 LDFLAGS=-L/usr/lib/llvm-16/lib make -j + - echo "Running make with flang version 16 and clang version 14..." + - make clean && BUILDDIR=$PWD/../build_clang14-flang16 CXX="clang++-14 -stdlib=libc++" FC=flang-new-16 FCFLAGS=-O3 LDFLAGS=-L/usr/lib/llvm-16/lib make -j + - echo "Running make with flang version 16 and clang version 15..." + - make clean && BUILDDIR=$PWD/../build_clang15-flang16 CXX="clang++-15 -stdlib=libc++" FC=flang-new-16 FCFLAGS=-O3 LDFLAGS=-L/usr/lib/llvm-16/lib make -j + - echo "Running make with flang version 16 and clang version 16..." + - make clean && BUILDDIR=$PWD/../build_clang16-flang16 CXX="clang++-16 -stdlib=libc++" FC=flang-new-16 FCFLAGS=-O3 LDFLAGS=-L/usr/lib/llvm-16/lib make -j + - echo "Running make with Intel ifort and Intel icpx..." + - make clean && PATH=/opt/intel/oneapi/compiler/latest/bin:$PATH BUILDDIR=$PWD/../build_ifort-icpx CXX=icpx FC=ifort FCFLAGS="-O3 -diag-disable=10448" make -j + - echo "Running make with Intel ifx and Intel icpx..." + - make clean && LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/latest/lib PATH=/opt/intel/oneapi/compiler/latest/bin:$PATH BUILDDIR=$PWD/../build_ifx-icpx CXX=icpx FC=ifx FCFLAGS=-O3 make -j - echo "Finally running make with default compilers..." - make clean && make -j - make docs -j && make -C ../doc/build/latex -j diff --git a/containers/docker/Dockerfile b/containers/docker/Dockerfile index b72c8b11..0d11a3db 100644 --- a/containers/docker/Dockerfile +++ b/containers/docker/Dockerfile @@ -3,10 +3,21 @@ FROM debian:bookworm-slim AS np-tmcode-dev WORKDIR /root +# +#RUN rm -rf /var/lib/apt/lists/* +#RUN ls -l /etc/apt/sources.list.d/oneAPI.list && sleep 5s +#RUN cat /etc/apt/sources.list.d/oneAPI.list && sleep 5s +#RUN ls -l /usr/share/keyrings/oneapi-archive-keyring.gpg && sleep 5s # make sure the debian bullseye us up to date, install needed packages -RUN DEBIAN_FRONTEND=noninteractive apt update && DEBIAN_FRONTEND=noninteractive apt -y upgrade +RUN apt update +RUN DEBIAN_FRONTEND=noninteractive apt -y upgrade # install packages needed to build binaries -RUN DEBIAN_FRONTEND=noninteractive apt -y install g++ gfortran gcc-offload-nvptx g++-11 gfortran-11 gcc-11-offload-nvptx g++-12 gfortran-12 gcc-12-offload-nvptx clang libc++-dev libc++abi-dev clang-13 clang-14 clang-15 clang-16 libhdf5-dev make +RUN DEBIAN_FRONTEND=noninteractive apt -y install g++ gfortran gcc-offload-nvptx g++-11 gfortran-11 gcc-11-offload-nvptx g++-12 gfortran-12 gcc-12-offload-nvptx clang libc++-dev libc++abi-dev clang-13 clang-14 clang-15 clang-16 flang-16 libhdf5-dev make +# install packages needed to test with Intel OneAPI compilers +COPY --chown=root:root containers/docker/dockerstuff/intelcomps/oneapi-archive-keyring.gpg /usr/share/keyrings/ +COPY --chown=root:root containers/docker/dockerstuff/intelcomps/oneAPI.list /etc/apt/sources.list.d/ +RUN apt update +RUN DEBIAN_FRONTEND=noninteractive apt -y install intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-dpcpp-cpp # install packages needed to run python scripts for checks RUN DEBIAN_FRONTEND=noninteractive apt -y install python3 python-is-python3 python3-regex # install packages needed to run doxygen to create html docs diff --git a/containers/docker/dockerstuff/intelcomps/oneAPI.list b/containers/docker/dockerstuff/intelcomps/oneAPI.list new file mode 100644 index 00000000..4e52297c --- /dev/null +++ b/containers/docker/dockerstuff/intelcomps/oneAPI.list @@ -0,0 +1 @@ +deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] http://apt.repos.intel.com/oneapi all main diff --git a/containers/docker/dockerstuff/intelcomps/oneapi-archive-keyring.gpg b/containers/docker/dockerstuff/intelcomps/oneapi-archive-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..5ff6fbceab7a64df501d6fa260340811e0d2fd66 GIT binary patch literal 3206 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 literal 0 HcmV?d00001 -- GitLab