diff --git a/.github/workflows/everything.yml b/.github/workflows/everything.yml index 435d9851e5..7447ed908a 100644 --- a/.github/workflows/everything.yml +++ b/.github/workflows/everything.yml @@ -146,66 +146,6 @@ jobs: if: ${{ matrix.constrains != 'build_only' }} run: gha/scripts/ci/gh-actions/run.sh test - linux_emu: - needs: [format, git_checks] - if: needs.git_checks.outputs.num_code_changes > 0 && - ( - contains('refs/heads/master', github.ref) || - contains('refs/heads/release_', github.ref) - ) - - runs-on: ubuntu-latest - container: - image: ${{ matrix.container }} - options: --privileged --shm-size=1g - env: - GH_YML_JOBNAME: ${{ matrix.cpu }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }} - GH_YML_BASE_OS: Linux - GH_YML_MATRIX_OS: ${{ matrix.os }} - GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }} - GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }} - - strategy: - fail-fast: false - matrix: - cpu: [power8] - os: [el7] - compiler: [xl] - parallel: [serial] - include: - - cpu: power8 - os: el7 - compiler: xl - parallel: serial - container: ornladios/adios2:ci-x86_64-power8-el7-xl - arch: ppc64le - - steps: - - name: Emulation Setup - run: /x86_64/bin/register --reset --targets ${{ matrix.arch }} - env: - PATH: /x86_64/bin - - name: Node.js Setup - run: mount --bind /x86_64/bin/node /__e/node12/bin/node - - uses: actions/checkout@v2 - with: - path: gha - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - path: source - - name: Setup - run: gha/scripts/ci/gh-actions/linux-setup.sh - - name: Update - run: gha/scripts/ci/gh-actions/run.sh update - - name: Configure - run: gha/scripts/ci/gh-actions/run.sh configure - - name: Build - run: gha/scripts/ci/gh-actions/run.sh build - - name: Test - run: gha/scripts/ci/gh-actions/run.sh test - - macos: needs: [format, git_checks] if: needs.git_checks.outputs.num_code_changes > 0 @@ -430,7 +370,7 @@ jobs: ####################################### build_and_test: - needs: [linux, linux_emu, macos, docker, contract] + needs: [linux, macos, docker, contract] runs-on: ubuntu-latest steps: - run: echo "All required jobs complete" diff --git a/scripts/ci/cmake-v2/ci-power8-el7-xl-serial.cmake b/scripts/ci/cmake-v2/ci-power8-el7-xl-serial.cmake deleted file mode 100644 index 1904740233..0000000000 --- a/scripts/ci/cmake-v2/ci-power8-el7-xl-serial.cmake +++ /dev/null @@ -1,27 +0,0 @@ -# Client maintainer: vicente.bolea@kitware.com - -set(ENV{CC} xlc) -set(ENV{CXX} xlc++) -set(ENV{FC} xlf) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=OFF -ADIOS2_USE_Blosc:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=OFF -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=OFF -ADIOS2_USE_ZFP:BOOL=ON -") - -set(CTEST_TEST_ARGS - INCLUDE "^(Interface|Install)" -) - -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-power8-el7-pgi-smpi.cmake b/scripts/ci/cmake/ci-power8-el7-pgi-smpi.cmake deleted file mode 100644 index 064833bc6e..0000000000 --- a/scripts/ci/cmake/ci-power8-el7-pgi-smpi.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} pgcc) -set(ENV{CXX} pgc++) -set(ENV{FC} pgfortran) - -set(ENV{CXXFLAGS} --brief_diagnostics) - -find_program(MPICC mpipgicc) -find_program(MPICXX mpipgic++) -find_program(MPIFC mpipgifort) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=OFF -ADIOS2_USE_Blosc:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=OFF -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=ON -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=OFF -ADIOS2_USE_ZFP:BOOL=ON - - -MPI_C_COMPILER:FILEPATH=${MPICC} -MPI_CXX_COMPILER:FILEPATH=${MPICXX} -MPI_Fortran_COMPILER:FILEPATH=${MPIFC} -MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe -tcp -") - -set(CTEST_TEST_ARGS - PARALLEL_LEVEL 1 - INCLUDE "^(Interface|Install)" -) -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-power8-el7-pgi.cmake b/scripts/ci/cmake/ci-power8-el7-pgi.cmake deleted file mode 100644 index af18dd6a06..0000000000 --- a/scripts/ci/cmake/ci-power8-el7-pgi.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} pgcc) -set(ENV{CXX} pgc++) -set(ENV{FC} pgfortran) - -set(ENV{CXXFLAGS} --brief_diagnostics) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=OFF -ADIOS2_USE_Blosc:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=OFF -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=OFF -ADIOS2_USE_ZFP:BOOL=ON -") - -set(CTEST_TEST_ARGS - INCLUDE "^(Interface|Install)" -) -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-power8-el7-xl-smpi.cmake b/scripts/ci/cmake/ci-power8-el7-xl-smpi.cmake deleted file mode 100644 index 3f2bf9ad4a..0000000000 --- a/scripts/ci/cmake/ci-power8-el7-xl-smpi.cmake +++ /dev/null @@ -1,36 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} xlc) -set(ENV{CXX} xlc++) -set(ENV{FC} xlf) - -find_program(MPICC mpixlc) -find_program(MPICXX mpixlC) -find_program(MPIFC mpixlf) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=OFF -ADIOS2_USE_Blosc:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=OFF -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=ON -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=OFF -ADIOS2_USE_ZFP:BOOL=ON - -MPI_C_COMPILER:FILEPATH=${MPICC} -MPI_CXX_COMPILER:FILEPATH=${MPICXX} -MPI_Fortran_COMPILER:FILEPATH=${MPIFC} -MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe -tcp -") - -set(CTEST_TEST_ARGS - PARALLEL_LEVEL 1 - INCLUDE "^(Interface|Install)" -) -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-power8-el7-xl.cmake b/scripts/ci/cmake/ci-power8-el7-xl.cmake deleted file mode 100644 index 69ca398d64..0000000000 --- a/scripts/ci/cmake/ci-power8-el7-xl.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# Client maintainer: chuck.atkins@kitware.com - -set(ENV{CC} xlc) -set(ENV{CXX} xlc++) -set(ENV{FC} xlf) - -set(dashboard_cache " -ADIOS2_USE_BZip2:BOOL=OFF -ADIOS2_USE_Blosc:BOOL=OFF -ADIOS2_USE_DataMan:BOOL=OFF -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=OFF -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=OFF -ADIOS2_USE_ZFP:BOOL=ON -") - -set(CTEST_TEST_ARGS - INCLUDE "^(Interface|Install)" -) -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/images/build-emu-power8-image.sh b/scripts/ci/images/build-emu-power8-image.sh deleted file mode 100755 index c13949ed44..0000000000 --- a/scripts/ci/images/build-emu-power8-image.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -ex - -######################################## -# ppc64le CentOS 7 emulation base image -######################################## -docker build --squash \ - --build-arg TARGET_ARCH_SYSTEM=ppc64le \ - --build-arg TARGET_ARCH_DOCKER=ppc64le \ - --build-arg TARGET_CPU=power8 \ - -t ornladios/adios2:ci-x86_64-power8-el7 \ - emu-el7 -echo "" -echo "Pushing ornladios/adios2:ci-x86_64-power8-el7" -echo "" -docker push ornladios/adios2:ci-x86_64-power8-el7 - -###################################### - ppc64le CI base image -###################################### -docker build \ - --build-arg TARGET_CPU=power8 \ - -t ornladios/adios2:ci-x86_64-power8-el7-base \ - emu-el7-base -docker-squash \ - -f ornladios/adios2:ci-x86_64-power8-el7 \ - -t ornladios/adios2:ci-x86_64-power8-el7-base \ - ornladios/adios2:ci-x86_64-power8-el7-base -echo "" -echo "Pushing ornladios/adios2:ci-x86_64-power8-el7-base" -echo "" -docker push ornladios/adios2:ci-x86_64-power8-el7-base diff --git a/scripts/ci/images/emu-el7-base/Dockerfile b/scripts/ci/images/emu-el7-base/Dockerfile deleted file mode 100644 index 68a751182a..0000000000 --- a/scripts/ci/images/emu-el7-base/Dockerfile +++ /dev/null @@ -1,82 +0,0 @@ -ARG TARGET_CPU=power8 -FROM ornladios/adios2:ci-x86_64-${TARGET_CPU}-el7 - -# Install core dev packages -RUN yum upgrade -y && \ - yum -y install centos-release-scl && \ - yum-config-manager --enable rhel-server-rhscl-7-rpms && \ - yum -y install \ - bison \ - bzip2 \ - bzip2-libs \ - curl \ - devtoolset-7 \ - devtoolset-7-gcc \ - devtoolset-7-gcc-c++ \ - devtoolset-7-gcc-gdb \ - devtoolset-7-gcc-gfortran \ - file \ - flex \ - gcc \ - gcc-c++ \ - gcc-gfortran \ - libfabric-devel \ - libffi-devel \ - libpng-devel \ - make \ - pkgconfig \ - sudo \ - valgrind \ - vim \ - zlib \ - yum -y install epel-release && \ - yum -y install \ - blosc-devel \ - bzip2-devel \ - curl-devel \ - expat-devel \ - gettext \ - libcurl-devel \ - libzstd-devel \ - openssl-devel \ - rhash-devel \ - xz-devel \ - zeromq-devel \ - zlib-devel && \ - yum clean all && \ - rm -rfv /tmp/* /var/cache/yum - -ENV LAUNCHER="/usr/bin/scl enable devtoolset-7 --" - -# Install and setup newer version of git -WORKDIR /opt/git -RUN mkdir tmp && \ - cd tmp && \ - curl -L https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.26.0.tar.gz | tar -xz && \ - cd git-2.26.0 && \ - $LAUNCHER make -j$(grep -c '^processor' /proc/cpuinfo) prefix=/opt/git/2.26.0 all && \ - $LAUNCHER make prefix=/opt/git/2.26.0 install && \ - cd ../.. && \ - rm -rf tmp -ENV PATH=/opt/git/2.26.0/bin:${PATH} - -# Install the most recent CMake from source -WORKDIR /opt/cmake -RUN mkdir tmp && \ - cd tmp && \ - curl -L https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gz | \ - tar -xz && \ - mkdir build && \ - cd build && \ - $LAUNCHER ../cmake-3.26.0/bootstrap \ - --system-libs \ - --no-qt-gui \ - --no-system-libarchive \ - --no-system-libuv \ - --no-system-jsoncpp \ - --prefix=/opt/cmake/3.26.0 \ - --parallel=$(grep -c '^processor' /proc/cpuinfo) && \ - make -j$(grep -c '^processor' /proc/cpuinfo) install && \ - cd ../.. && \ - rm -rf tmp -ENV PATH=/opt/cmake/3.26.0/bin:${PATH} diff --git a/scripts/ci/images/emu-el7/Dockerfile b/scripts/ci/images/emu-el7/Dockerfile deleted file mode 100644 index d954fe7f0d..0000000000 --- a/scripts/ci/images/emu-el7/Dockerfile +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################## -# This is a base image to be used for multi-arch emulation on CI. To setup -# your system to correctly support the emulation you'll need to register -# the qemu static user binaries with your kernel's binfmt_misc infrastructure: -# -# docker run --rm --privileged multiarch/qemu-user-static:register --reset -# -# To build this image you want to set the following build args: -# TARGET_ARCH_SYSTEM=ppc64le - The CPU architecture of the target system. -# TARGET_ARCH_DOCKER=ppc64le - The CPU architecture if the target system as -# known by dockerhub. Most of the time this will -# be the same as TARGET_ARCH_SYSTEM but in a few -# cases they're different, e.g. for 64-bit ARM -# you would set TARGET_ARCH_SYSTEM=aarch64 and -# TARGET_ARCH_DOCKER=arm64v8. -# TARGET_CPU=power8 - The specific CPU model of the target system -# to emulate. For example, on ppc64le you -# could set it to power8 or power9 (among others) -# or on aarch64 you could set it to cortex-a72. -################################################################################ -ARG TARGET_ARCH_SYSTEM=ppc64le -ARG TARGET_ARCH_DOCKER=ppc64le - -######################################## -# QEMU image with emulation binaries -######################################## -FROM multiarch/qemu-user-static:x86_64-${TARGET_ARCH_SYSTEM} AS qemu - -######################################## -# Base image -######################################## -FROM ${TARGET_ARCH_DOCKER}/centos:centos7 - -######################################## -# Grab a fully static node.js binary -# to run various CI actions -######################################## -COPY --from=ornladios/adios2:node12-static /node /x86_64/bin/node - -######################################## -# Build up a minimal busybox shell -# environment to run scripts on the host -# CPU -######################################## -COPY --from=busybox /bin/busybox /x86_64/bin/busybox -SHELL ["/x86_64/bin/busybox", "sh", "-c"] -RUN /x86_64/bin/busybox --install /x86_64/bin - -######################################## -# Get rid of the busybox uname because -# it runs in the host CPU and we need -# CI scripts to instead use -# /usr/bin/uname from the emulated CPU -######################################## -RUN /x86_64/bin/rm -f /x86_64/bin/uname - -######################################## -# Put busybox in the path to allow job -# steps to use either the native host -# shell or the emulated CPU shell -######################################## -RUN /x86_64/bin/ln -s /x86_64/bin/busybox /usr/local/bin/busybox - -######################################## -# Put the busybox tail command in the -# path to be used as the default -# entrypoint in CI -######################################## -RUN /x86_64/bin/ln -s /x86_64/bin/tail /usr/local/bin/tail - -######################################## -# QEMU CPU emulation binary -######################################## -ARG TARGET_ARCH_SYSTEM=ppc64le -COPY --from=qemu \ - /usr/bin/qemu-${TARGET_ARCH_SYSTEM}-static \ - /x86_64/bin/qemu-${TARGET_ARCH_SYSTEM}-static - -######################################## -# Hard link the emulation binary to the -# expected location used by the default -# registration scripts for ease of local -# development. -######################################## -ARG TARGET_ARCH_SYSTEM=ppc64le -RUN /x86_64/bin/ln \ - /x86_64/bin/qemu-${TARGET_ARCH_SYSTEM}-static \ - /usr/bin/qemu-${TARGET_ARCH_SYSTEM}-static - -######################################## -# Scripts for emu registration -######################################## -COPY qemu-binfmt-conf.sh /x86_64/bin/qemu-binfmt-conf.sh -COPY register.sh /x86_64/bin/register - -######################################## -# Set the specific CPU -######################################## -ARG TARGET_CPU=power8 -ENV QEMU_CPU=${TARGET_CPU} - -######################################## -# Setup the entrypoint using busybox for -# the host cpu -######################################## -COPY entrypoint.sh /x86_64/bin/entrypoint -ENTRYPOINT ["/x86_64/bin/entrypoint"] -CMD ["/x86_64/bin/sh"] - -######################################## -# Reset the shell for subsequent image -# building -######################################## -SHELL ["/bin/sh", "-c"] diff --git a/scripts/ci/images/emu-el7/entrypoint.sh b/scripts/ci/images/emu-el7/entrypoint.sh deleted file mode 100755 index 1246539612..0000000000 --- a/scripts/ci/images/emu-el7/entrypoint.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/x86_64/bin/sh - -exec "$@" diff --git a/scripts/ci/images/emu-el7/qemu-binfmt-conf.sh b/scripts/ci/images/emu-el7/qemu-binfmt-conf.sh deleted file mode 100755 index 8d40c79501..0000000000 --- a/scripts/ci/images/emu-el7/qemu-binfmt-conf.sh +++ /dev/null @@ -1,404 +0,0 @@ -#!/x86_64/bin/sh -# Enable automatic program execution by the kernel. - -qemu_target_list="i386 i486 alpha arm armeb sparc sparc32plus sparc64 \ -ppc ppc64 ppc64le m68k mips mipsel mipsn32 mipsn32el mips64 mips64el \ -sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ -microblaze microblazeel or1k x86_64" - -i386_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00' -i386_mask='\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -i386_family=i386 - -i486_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00' -i486_mask='\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -i486_family=i386 - -x86_64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00' -x86_64_mask='\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -x86_64_family=i386 - -alpha_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90' -alpha_mask='\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -alpha_family=alpha - -arm_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00' -arm_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -arm_family=arm - -armeb_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28' -armeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -armeb_family=armeb - -sparc_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02' -sparc_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -sparc_family=sparc - -sparc32plus_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12' -sparc32plus_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -sparc32plus_family=sparc - -sparc64_magic='\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b' -sparc64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -sparc64_family=sparc - -ppc_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14' -ppc_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -ppc_family=ppc - -ppc64_magic='\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15' -ppc64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -ppc64_family=ppc - -ppc64le_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00' -ppc64le_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00' -ppc64le_family=ppcle - -m68k_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04' -m68k_mask='\xff\xff\xff\xff\xff\xff\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -m68k_family=m68k - -# FIXME: We could use the other endianness on a MIPS host. - -mips_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08' -mips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -mips_family=mips - -mipsel_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00' -mipsel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -mipsel_family=mips - -mipsn32_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08' -mipsn32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -mipsn32_family=mips - -mipsn32el_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00' -mipsn32el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -mipsn32el_family=mips - -mips64_magic='\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08' -mips64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -mips64_family=mips - -mips64el_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00' -mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -mips64el_family=mips - -sh4_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00' -sh4_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -sh4_family=sh4 - -sh4eb_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a' -sh4eb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -sh4eb_family=sh4 - -s390x_magic='\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16' -s390x_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -s390x_family=s390x - -aarch64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00' -aarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -aarch64_family=arm - -aarch64_be_magic='\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7' -aarch64_be_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -aarch64_be_family=armeb - -hppa_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f' -hppa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -hppa_family=hppa - -riscv32_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00' -riscv32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -riscv32_family=riscv - -riscv64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00' -riscv64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -riscv64_family=riscv - -xtensa_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e\x00' -xtensa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -xtensa_family=xtensa - -xtensaeb_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e' -xtensaeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -xtensaeb_family=xtensaeb - -microblaze_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xba\xab' -microblaze_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -microblaze_family=microblaze - -microblazeel_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xab\xba' -microblazeel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' -microblazeel_family=microblazeel - -or1k_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5c' -or1k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' -or1k_family=or1k - -qemu_get_family() { - cpu=${HOST_ARCH:-$(busybox uname -m)} - case "$cpu" in - amd64|i386|i486|i586|i686|i86pc|BePC|x86_64) - echo "i386" - ;; - mips*) - echo "mips" - ;; - "Power Macintosh"|ppc64|powerpc|ppc) - echo "ppc" - ;; - ppc64el|ppc64le) - echo "ppcle" - ;; - arm|armel|armhf|arm64|armv[4-9]*l|aarch64) - echo "arm" - ;; - armeb|armv[4-9]*b|aarch64_be) - echo "armeb" - ;; - sparc*) - echo "sparc" - ;; - riscv*) - echo "riscv" - ;; - *) - echo "$cpu" - ;; - esac -} - -usage() { - cat <&2 - exit 1 - fi -} - -qemu_check_bintfmt_misc() { - # load the binfmt_misc module - if [ ! -d /proc/sys/fs/binfmt_misc ]; then - if ! /sbin/modprobe binfmt_misc ; then - exit 1 - fi - fi - if [ ! -f /proc/sys/fs/binfmt_misc/register ]; then - if ! mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc ; then - exit 1 - fi - fi - - qemu_check_access /proc/sys/fs/binfmt_misc/register -} - -installed_dpkg() { - dpkg --status "$1" > /dev/null 2>&1 -} - -qemu_check_debian() { - if [ ! -e /etc/debian_version ] ; then - echo "WARNING: your system is not a Debian based distro" 1>&2 - elif ! installed_dpkg binfmt-support ; then - echo "WARNING: package binfmt-support is needed" 1>&2 - fi - qemu_check_access "$EXPORTDIR" -} - -qemu_check_systemd() { - if ! systemctl -q is-enabled systemd-binfmt.service ; then - echo "WARNING: systemd-binfmt.service is missing or disabled" 1>&2 - fi - qemu_check_access "$EXPORTDIR" -} - -qemu_generate_register() { - flags="" - if [ "$CREDENTIAL" = "yes" ] ; then - flags="OC" - fi - if [ "$PERSISTENT" = "yes" ] ; then - flags="${flags}F" - fi - - echo ":qemu-$cpu:M::$magic:$mask:$qemu:$flags" -} - -qemu_register_interpreter() { - echo "Setting $qemu as binfmt interpreter for $cpu" - qemu_generate_register > /proc/sys/fs/binfmt_misc/register -} - -qemu_generate_systemd() { - echo "Setting $qemu as binfmt interpreter for $cpu for systemd-binfmt.service" - qemu_generate_register > "$EXPORTDIR/qemu-$cpu.conf" -} - -qemu_generate_debian() { - cat > "$EXPORTDIR/qemu-$cpu" <&2 - continue - fi - - qemu="$QEMU_PATH/qemu-$cpu" - if [ "$cpu" = "i486" ] ; then - qemu="$QEMU_PATH/qemu-i386" - fi - - qemu="$qemu$QEMU_SUFFIX" - if [ "$host_family" != "$family" ] ; then - $BINFMT_SET - fi - done -} - -CHECK=qemu_check_bintfmt_misc -BINFMT_SET=qemu_register_interpreter - -SYSTEMDDIR="/etc/binfmt.d" -DEBIANDIR="/usr/share/binfmts" - -QEMU_PATH=/usr/local/bin -CREDENTIAL=no -PERSISTENT=no -QEMU_SUFFIX="" - -options=$(getopt -o ds:Q:S:t:e:hc:p: -l debian,systemd:,qemu-path:,qemu-suffix:,qemu-targets:,exportdir:,help,credential:,persistent: -- "$@") -eval set -- "$options" - -while true ; do - case "$1" in - -d|--debian) - CHECK=qemu_check_debian - BINFMT_SET=qemu_generate_debian - EXPORTDIR=${EXPORTDIR:-$DEBIANDIR} - ;; - -s|--systemd) - CHECK=qemu_check_systemd - BINFMT_SET=qemu_generate_systemd - EXPORTDIR=${EXPORTDIR:-$SYSTEMDDIR} - shift - # check given cpu is in the supported CPU list - if [ "$1" != "ALL" ] ; then - for cpu in ${qemu_target_list} ; do - if [ "$cpu" = "$1" ] ; then - break - fi - done - - if [ "$cpu" = "$1" ] ; then - qemu_target_list="$1" - else - echo "ERROR: unknown CPU \"$1\"" 1>&2 - usage - exit 1 - fi - fi - ;; - -Q|--qemu-path) - shift - QEMU_PATH="$1" - ;; - -F|--qemu-suffix) - shift - QEMU_SUFFIX="$1" - ;; - -t|--qemu-targets) - shift - QEMU_TARGETS="$1" - ;; - -e|--exportdir) - shift - EXPORTDIR="$1" - ;; - -h|--help) - usage - exit 1 - ;; - -c|--credential) - shift - CREDENTIAL="$1" - ;; - -p|--persistent) - shift - PERSISTENT="$1" - ;; - *) - break - ;; - esac - shift -done - -$CHECK -qemu_set_binfmts diff --git a/scripts/ci/images/emu-el7/register.sh b/scripts/ci/images/emu-el7/register.sh deleted file mode 100755 index f1c6c18a96..0000000000 --- a/scripts/ci/images/emu-el7/register.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/x86_64/bin/sh - -export PATH=/x86_64/bin - -if [ ! -d /proc/sys/fs/binfmt_misc ]; then - echo "No binfmt support in the kernel." - echo " Try: '/sbin/modprobe binfmt_misc' from the host" - exit 1 -fi - - -if [ ! -f /proc/sys/fs/binfmt_misc/register ]; then - mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc -fi - -RESET=0 -TARGETS="" -while true -do - case $1 in - --reset) - RESET=1 - ;; - --targets) - shift - TARGETS="$1" - ;; - *) - break - ;; - esac - shift -done - -if [ $RESET -eq 1 ]; then - if [ -z "${TARGETS}" ] - then - find /proc/sys/fs/binfmt_misc -type f -name 'qemu-*' -exec sh -c 'echo "Resetting {}"; echo -1 > {}' \; - else - for TARGET in ${TARGETS} - do - find /proc/sys/fs/binfmt_misc -type f -name "qemu-${TARGET}*" -exec sh -c 'echo "Resetting {}"; echo -1 > {}' \; - done - fi -fi - -/x86_64/bin/qemu-binfmt-conf.sh --qemu-suffix "-static" --qemu-path "/x86_64/bin" --qemu-targets "${TARGETS}" $@ diff --git a/scripts/ci/images/power8-el7-xl.Makefile b/scripts/ci/images/power8-el7-xl.Makefile deleted file mode 100644 index 797d04b14a..0000000000 --- a/scripts/ci/images/power8-el7-xl.Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# vim: ft=make : -# How to invoke this: -# -# - Copy the IBM_XL binaries to scripts/ci/images directory: -# - Binaries are located at KW SMB dir `Downloads/Compilers/IBM/` or IBM site -# - Run this: make -f power8-el7-xl.Makefile -# - push built images -TARGETS = config_binfmt-stamp emu-stamp xl-stamp -BUILD_ARGS = --squash -all: $(TARGETS) - -config_binfmt-stamp: - touch $@ - sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset - -emu-stamp: BUILD_ARGS+= --build-arg TARGET_CPU=power8 -emu-stamp: emu-el7-base/Dockerfile config_binfmt-stamp - touch $@ - sudo docker build $(BUILD_ARGS) -f $< -t ornladios/adios2:ci-x86_64-power8-el7-base . || (rm $@; false) - -xl-stamp: BUILD_ARGS+= --build-arg COMPILER=xl -xl-stamp: power8-el7/power8-el7-xl.dockerfile emu-stamp - touch $@ - sudo docker build $(BUILD_ARGS) -f $< -t ornladios/adios2:ci-x86_64-power8-el7-xl . || (rm $@; false) - -clean: - rm $(TARGETS) || true diff --git a/scripts/ci/images/power8-el7/power8-el7-xl.dockerfile b/scripts/ci/images/power8-el7/power8-el7-xl.dockerfile deleted file mode 100644 index 439106cfc2..0000000000 --- a/scripts/ci/images/power8-el7/power8-el7-xl.dockerfile +++ /dev/null @@ -1,100 +0,0 @@ -# vim: ft=dockerfile: -FROM ornladios/adios2:ci-x86_64-power8-el7-base - -# Install packages of XL compilers -COPY IBM_XL_C_CPP_*_LINUX_COMMUNITY.tar.gz /tmp -COPY IBM_XL_FORTRAN_*_LINUX_COMMUNITY.tar.gz /tmp -# Upgrades of XL compilers -COPY IBM_XL_C_CPP_*_LINUX.tar.gz /tmp -COPY IBM_XL_FORTRAN_*_LINUX.tar.gz /tmp -WORKDIR /tmp -RUN source /opt/rh/devtoolset-7/enable && \ - mkdir xlc && \ - cd xlc && \ - tar -xf ../IBM_XL_C_CPP_*_LINUX_COMMUNITY.tar.gz && \ - yes 1 | ./install && \ - cd .. && \ - mkdir xlf && \ - cd xlf && \ - tar -xf ../IBM_XL_FORTRAN_*_LINUX_COMMUNITY.tar.gz && \ - yes 1 | ./install && \ - cd .. && \ - mkdir xlc_p && \ - cd xlc_p && \ - tar -xf ../IBM_XL_C_CPP_*_LINUX.tar.gz && \ - yes 1 | ./install && \ - cd .. && \ - mkdir xlf_p && \ - cd xlf_p && \ - tar -xf ../IBM_XL_FORTRAN_*_LINUX.tar.gz && \ - yes 1 | ./install && \ - cd .. && \ - rm -rf /tmp/* && \ - yum -y clean all -ENV CC=/usr/bin/xlc \ - CXX=/usr/bin/xlc++ \ - FC=/usr/bin/xlf - -RUN source /opt/rh/devtoolset-7/enable && \ - /opt/ibm/xlC/16.1.1/bin/xlc_configure -gcc /opt/rh/devtoolset-7/root/usr/ - -ENV XLC_USR_CONFIG=/opt/ibm/xlC/16.1.1/etc/xlc.cfg.centos.7.gcc.7.3.1 - -# Install ZFP -WORKDIR /opt/zfp -RUN curl -L https://github.com/LLNL/zfp/releases/download/0.5.5/zfp-0.5.5.tar.gz | tar -xvz && \ - mkdir build && \ - cd build && \ - $LAUNCHER cmake \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_STANDARD=11 \ - -DCMAKE_INSTALL_PREFIX=/opt/zfp/0.5.5 \ - ../zfp-0.5.5 && \ - make -j$(grep -c '^processor' /proc/cpuinfo) install && \ - cd .. && \ - rm -rf zfp-0.5.5 build -ENV PATH=/opt/zfp/0.5.5/bin:${PATH} \ - LD_LIBRARY_PATH=/opt/zfp/0.5.5/lib64:${LD_LIBRARY_PATH} \ - CMAKE_PREFIX_PATH=/opt/zfp/0.5.5:${CMAKE_PREFIX_PATH} - -# Install SZ -WORKDIR /opt/sz -RUN curl -L https://github.com/disheng222/SZ/archive/v2.1.8.3.tar.gz | tar -xvz && \ - mkdir build && \ - cd build && \ - $LAUNCHER cmake \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/opt/sz/2.1.8.3 \ - ../SZ-2.1.8.3 && \ - make -j$(grep -c '^processor' /proc/cpuinfo) install && \ - cd .. && \ - rm -rf SZ-2.1.8.3 build -ENV PATH=/opt/sz/2.1.8.3/bin:${PATH} \ - LD_LIBRARY_PATH=/opt/sz/2.1.8.3/lib64:${LD_LIBRARY_PATH} \ - CMAKE_PREFIX_PATH=/opt/sz/2.1.8.3:${CMAKE_PREFIX_PATH} - -# Install HDF5 1.13.0 -WORKDIR /opt/hdf5 -RUN curl -L https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_13_0.tar.gz | tar -xvz && \ - mkdir build && \ - cd build && \ - $LAUNCHER cmake \ - -DCMAKE_INSTALL_PREFIX=/opt/hdf5/1.13.0 \ - -DBUILD_SHARED_LIBS=ON \ - -DBUILD_STATIC_LIBS=OFF \ - -DCMAKE_BUILD_TYPE=Release \ - -DHDF5_ENABLE_PARALLEL=OFF \ - -DHDF5_BUILD_CPP_LIB=OFF\ - -DHDF5_BUILD_EXAMPLES=OFF \ - -DBUILD_TESTING=OFF \ - -DHDF5_BUILD_TOOLS=OFF \ - ../hdf5-hdf5-1_13_0 && \ - make -j$(grep -c '^processor' /proc/cpuinfo) install && \ - cd .. && \ - rm -rf hdf5-hdf5-1_13_0 build -ENV PATH=/opt/hdf5/1.13.0/bin:${PATH} \ - LD_LIBRARY_PATH=/opt/hdf5/1.13.0/lib:${LD_LIBRARY_PATH} \ - CMAKE_PREFIX_PATH=/opt/hdf5/1.13.0:${CMAKE_PREFIX_PATH} -WORKDIR /root