Raw File
.gitlab-ci.yml
include:
  - 'https://raw.githubusercontent.com/JuliaGPU/gitlab-ci/master/templates/v6.yml'

image: nvidia/cuda:10.1-devel

variables:
  OMPI_ALLOW_RUN_AS_ROOT: '1'
  OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: '1'
  OMPI_MCA_btl_vader_single_copy_mechanism: 'none' # https://github.com/open-mpi/ompi/issues/4948
  OMPI_MCA_plm_rsh_agent: 'sh' # the container doesn't have ssh installed, but we don't need it
  JULIA_CUDA_VERBOSE: 'true'
  JULIA_MPI_TEST_ARRAYTYPE: 'CuArray'
  JULIA_MPI_PATH: "$CI_PROJECT_DIR/mpi"

openmpi:
  stage: build
  variables:
    OPENMPI_VER:      '4.0'
    OPENMPI_VER_FULL: '4.0.3'
  before_script:
    - export CCACHE_BASEDIR=${CI_PROJECT_DIR}
    - export CCACHE_DIR=${CI_PROJECT_DIR}/downloads/ccache
    - mkdir -p ${CCACHE_DIR}
    - apt-get update
    - apt-get install --yes --no-install-recommends ccache curl
    - /usr/sbin/update-ccache-symlinks    
    - export PATH="/usr/lib/ccache:$PATH"    
    - curl https://download.open-mpi.org/release/open-mpi/v${OPENMPI_VER}/openmpi-${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
    - tar xf openmpi.tar.gz
    - pushd openmpi-${OPENMPI_VER_FULL}
    - ./configure --with-cuda --prefix="${JULIA_MPI_PATH}"
    - make -j
    - make install
    - popd
  script:
    - ${JULIA_MPI_PATH}/bin/ompi_info
  artifacts:
    when: always
    paths:
      - mpi/

# Julia versions
julia:1.3:
  extends:
    - .julia:1.3
    - .test
  tags:
    - nvidia

julia:1.4:
  extends:
    - .julia:1.4
    - .test
  tags:
    - nvidia

julia:nightly:
  extends:
    - .julia:nightly
    - .test
  tags:
    - nvidia
  allow_failure: true
back to top