Commit 6dc40f54 authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

update to the latest version

parent 8e7cac89
Loading
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+58 −0
Original line number Diff line number Diff line
stages:
  - build

variables:
  GIT_STRATEGY: clone
  IMAGE_NAME: ${CI_REGISTRY_IMAGE}
  IMAGE_NAME_GPU: ${CI_REGISTRY_IMAGE}/gpu

before_script:
  - curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
  - source rse-bash-modules.sh
  - func_rse_docker_cleanup

after_script:
  - curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
  - source rse-bash-modules.sh
  - func_rse_docker_cleanup
  - sudo chown -R gitlab-runner .

build-dca-cpu:
  stage: build
  variables:
    TAG: "0.1"
    FORCE_TAGS: "false"
  when: manual
  script:
    - docker build -f dockerfiles/Dockerfile.cpu -t image .
    - docker tag image ${IMAGE_NAME}:$CI_COMMIT_SHORT_SHA
    - docker push ${IMAGE_NAME}:$CI_COMMIT_SHORT_SHA
    - >
      if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ] || [ "$FORCE_TAGS" == "true" ]; then
        docker tag image ${IMAGE_NAME}:latest
        docker push ${IMAGE_NAME}:latest
        docker pull ${IMAGE_NAME}:${TAG} || docker tag image ${IMAGE_NAME}:${TAG} &&  docker push ${IMAGE_NAME}:${TAG}
      fi
  tags:
    - rse-multi-builder


build-dca-gpu:
  stage: build
  variables:
    TAG: "0.1"
    FORCE_TAGS: "false"
  when: manual
  script:
    - docker build -f dockerfiles/Dockerfile.gpu -t image .
    - docker tag image ${IMAGE_NAME_GPU}:$CI_COMMIT_SHORT_SHA
    - docker push ${IMAGE_NAME_GPU}:$CI_COMMIT_SHORT_SHA
    - >
      if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ] || [ "$FORCE_TAGS" == "true" ]; then
        docker tag image ${IMAGE_NAME_GPU}:latest
        docker push ${IMAGE_NAME_GPU}:latest
        docker pull ${IMAGE_NAME_GPU}:${TAG} || docker tag image ${IMAGE_NAME_GPU}:${TAG} &&  docker push ${IMAGE_NAME_GPU}:${TAG}
      fi
  tags:
    - rse-multi-builder
+70 −0
Original line number Diff line number Diff line
FROM ubuntu:20.04 as build

RUN DEBIAN_FRONTEND="noninteractive" apt-get update && apt-get -y install tzdata

RUN apt-get update \
  && apt-get install -y ssh \
      build-essential \
      wget \
      gcc \
      g++ \
      gdb \
      clang \
      make \
      ninja-build \
      autoconf \
      automake \
      locales-all \
      dos2unix \
      rsync \
      tar \
      python \
      openmpi-bin \
      libopenmpi-dev \
      libblas-dev \
      liblapack-dev \
      fftw3-dev \
      libhdf5-dev \
      git \
  && apt-get clean

RUN wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz \
 && tar -zxvf cmake-3.20.0.tar.gz \
 && cd cmake-3.20.0 \
 && ./bootstrap -- -DCMAKE_USE_OPENSSL=OFF && make && make install && cd .. && rm -rf cmake-3.20.0

ENV ADIOS2_DIR=/opt/adios2
RUN mkdir -p $ADIOS2_DIR
COPY dockerfiles/install_adios2.sh /install_adios2.sh
RUN bash /install_adios2.sh

COPY . /DCA

RUN mkdir /DCA/build && cd  /DCA/build  \
 && cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DDCA_WITH_CUDA=off \
    -DDCA_WITH_ADIOS2=on  \
    -DDCA_CLUSTER_SOLVER=CT-INT \
    .. \
 && make

FROM ubuntu:20.04 as runtime

RUN DEBIAN_FRONTEND="noninteractive" apt-get update && apt-get -y install tzdata

RUN apt-get update \
  && apt-get install -y \
      openmpi-bin \
      libblas-dev\
      liblapack-dev \
      fftw3-dev \
      libhdf5-dev \
  && apt-get clean

COPY --from=build /opt/adios2 /opt/adios2
COPY --from=build /DCA/build/applications/analysis/chi_q_omega /dca/chi_q_omega
COPY --from=build /DCA/build/applications/dca/main_dca /dca/main_dca


CMD ["mpiexec","--allow-run-as-root","--map-by","socket:PE=2","-n","2","/dca/chi_q_omega","/input/input_file.json"]
 No newline at end of file
+76 −0
Original line number Diff line number Diff line
FROM ubuntu:20.04 as build

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get -y install tzdata apt-utils

RUN apt-get update \
    && apt-get install -y ssh \
      build-essential \
      wget \
      gcc \
      g++ \
      gdb \
      clang \
      make \
      ninja-build \
      autoconf \
      automake \
      locales-all \
      dos2unix \
      rsync \
      tar \
      python \
      openmpi-bin \
      libopenmpi-dev \
      libblas-dev \
      liblapack-dev \
      fftw3-dev \
      libhdf5-dev \
      git > /dev/null \
  && apt-get clean > /dev/null

RUN wget -nv https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz > /dev/null \
 && tar -zxvf cmake-3.20.0.tar.gz  > /dev/null \
 && cd cmake-3.20.0 \
 && ./bootstrap -- -DCMAKE_USE_OPENSSL=OFF > /dev/null && make > /dev/null && make install > /dev/null && cd .. \
 && rm -rf cmake-3.20.0 cmake-3.20.0.tar.gz \
 && echo cmake installed

RUN wget -nv https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin > /dev/null \
  && mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
  && wget -nv https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb > /dev/null \
  && dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb > /dev/null \
  && apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub > /dev/null \
  && apt-get update > /dev/null \
  && apt-get -y install cuda > /dev/null \
  && apt-get clean > /dev/null \
  && rm cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb \
  && rm -rf ./var/cuda-repo-ubuntu2004-11-4-local \
  && echo cuda installed

COPY dockerfiles/install_magma.sh /install_magma.sh
RUN bash /install_magma.sh > /dev/null && echo magma installed

ENV ADIOS2_DIR=/opt/adios2
RUN mkdir -p $ADIOS2_DIR
COPY dockerfiles/install_adios2.sh /install_adios2.sh
RUN bash /install_adios2.sh > /dev/null && echo adios2 installed

ARG CUDA_HOME=/usr/local/cuda
ARG PATH=$PATH:$CUDA_HOME/bin

COPY . /DCA

RUN mkdir /DCA/build && cd  /DCA/build  \
 && cmake \
    -DCMAKE_PREFIX_PATH=/usr/local/magma \
    -DCMAKE_BUILD_TYPE=Release \
    -DDCA_WITH_CUDA=on \
    -DDCA_WITH_ADIOS2=on  \
    -DDCA_CLUSTER_SOLVER=CT-INT \
    .. \
 && make

RUN mkdir /dca && mv /DCA/build/applications/analysis/chi_q_omega /dca/chi_q_omega \
 && mv /DCA/build/applications/dca/main_dca /dca/main_dca
+34 −0
Original line number Diff line number Diff line
FROM code.ornl.gov:4567/olcfcontainers/olcfbaseimages/mpiimage-centos-cuda

RUN fakeroot dnf install -y \
      dos2unix \
      rsync \
      tar \
      cmake \
      python3 blas-devel lapack-devel fftw3-devel hdf5-devel python3-numpy \
      libffi-devel

RUN python3 -m pip install mpi4py

COPY dockerfiles/install_magma.sh /install_magma.sh
RUN bash /install_magma.sh #> /dev/null && echo magma installed

ENV ADIOS2_DIR=/opt/adios2
RUN mkdir -p $ADIOS2_DIR

COPY dockerfiles/install_adios2.sh /install_adios2.sh
RUN bash /install_adios2.sh

COPY . /DCA
RUN mkdir /DCA/build && cd  /DCA/build  \
 && cmake \
    -DCMAKE_PREFIX_PATH=/usr/local/magma \
    -DCMAKE_BUILD_TYPE=Release \
    -DDCA_WITH_CUDA=on \
    -DDCA_WITH_ADIOS2=on  \
    -DDCA_CLUSTER_SOLVER=CT-INT \
    .. \
 && make

RUN mkdir /dca && mv /DCA/build/applications/analysis/chi_q_omega /dca/chi_q_omega \
 && mv /DCA/build/applications/dca/main_dca /dca/main_dca
+21 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -e

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
git clone --branch v2.8.3 https://github.com/ornladios/ADIOS2.git ADIOS2
mkdir adios2-build && cd adios2-build

cmake ../ADIOS2 -DCMAKE_INSTALL_PREFIX=$ADIOS2_DIR -DADIOS2_USE_MPI=ON .

# stupid workaround because gcc inside Podman on Summit includes wring config.h
cat thirdparty/EVPath/EVPath/config.h >> thirdparty/dill/dill/config.h
cat thirdparty/ffs/ffs/config.h >> thirdparty/dill/dill/config.h
cat thirdparty/EVPath/EVPath/config.h >> thirdparty/ffs/ffs/config.h
cat thirdparty/EVPath/EVPath/config.h >> thirdparty/atl/atl/config.h


make
make install
cd ..
rm -rf ADIOS2 adios2-build
 No newline at end of file
Loading