Skip to content

Commit 9d06df0

Browse files
authored
test Julia 1.4, remove 1.1 & 1.2 from CI matrix (#365)
* test Julia 1.4, remove 1.1 & 1.2 from CI matrix * bump versions for GitLab CI * fix mpich download path, update CUDA test project * update to new GitLab spec * add curl * add artifact * fix env vars * disable ssh * precompile CuArrays
1 parent d189440 commit 9d06df0

File tree

8 files changed

+61
-109
lines changed

8 files changed

+61
-109
lines changed

.appveyor.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
environment:
22
matrix:
33
- julia_version: 1.0
4-
- julia_version: 1.1
5-
- julia_version: 1.2
64
- julia_version: 1.3
5+
- julia_version: 1.4
76
- julia_version: nightly
87

98
platform:

.gitlab-ci.yml

Lines changed: 42 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,63 @@
11
include:
2-
- 'https://raw.githubusercontent.com/JuliaGPU/gitlab-ci/master/templates/v3/common.yml'
2+
- 'https://raw.githubusercontent.com/JuliaGPU/gitlab-ci/master/templates/v6.yml'
33

4-
.projecttest:
5-
extends: .test
4+
image: nvidia/cuda:10.1-devel
5+
6+
variables:
7+
OMPI_ALLOW_RUN_AS_ROOT: '1'
8+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: '1'
9+
OMPI_MCA_btl_vader_single_copy_mechanism: 'none' # https://github.com/open-mpi/ompi/issues/4948
10+
OMPI_MCA_plm_rsh_agent: 'sh' # the container doesn't have ssh installed, but we don't need it
11+
JULIA_CUDA_VERBOSE: 'true'
12+
JULIA_MPI_TEST_ARRAYTYPE: 'CuArray'
13+
JULIA_MPI_PATH: "$CI_PROJECT_DIR/mpi"
14+
15+
openmpi:
16+
stage: build
617
variables:
7-
OMPI_ALLOW_RUN_AS_ROOT: '1'
8-
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: '1'
9-
OMPI_MCA_btl_vader_single_copy_mechanism: 'none' # https://github.com/open-mpi/ompi/issues/4948
10-
JULIA_MPI_TEST_ARRAYTYPE: 'CuArray'
18+
OPENMPI_VER: '4.0'
19+
OPENMPI_VER_FULL: '4.0.3'
1120
before_script:
12-
- mkdir -p ccache
1321
- export CCACHE_BASEDIR=${CI_PROJECT_DIR}
14-
- export CCACHE_DIR=${CI_PROJECT_DIR}/ccache
15-
- export JULIA_DEPOT_PATH="${CI_PROJECT_DIR}/jldepot"
16-
- export JULIA_MPI_PATH="${HOME}/mpi"
22+
- export CCACHE_DIR=${CI_PROJECT_DIR}/downloads/ccache
23+
- mkdir -p ${CCACHE_DIR}
1724
- apt-get update
18-
- apt-get install --yes --no-install-recommends ssh ccache
19-
- /usr/sbin/update-ccache-symlinks
20-
- export PATH="/usr/lib/ccache:$PATH"
25+
- apt-get install --yes --no-install-recommends ccache curl
26+
- /usr/sbin/update-ccache-symlinks
27+
- export PATH="/usr/lib/ccache:$PATH"
2128
- curl https://download.open-mpi.org/release/open-mpi/v${OPENMPI_VER}/openmpi-${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
2229
- tar xf openmpi.tar.gz
23-
- patch -p1 -d openmpi-${OPENMPI_VER_FULL} < conf/ompi_rootenv.patch
2430
- pushd openmpi-${OPENMPI_VER_FULL}
25-
- ./configure --with-cuda --prefix=${JULIA_MPI_PATH}
31+
- ./configure --with-cuda --prefix="${JULIA_MPI_PATH}"
2632
- make -j
2733
- make install
2834
- popd
2935
script:
30-
- export JULIA_PROJECT="test/cudaenv"
3136
- ${JULIA_MPI_PATH}/bin/ompi_info
32-
- julia -e 'using InteractiveUtils;
33-
versioninfo()'
34-
- julia --color=yes -e 'using Pkg;
35-
Pkg.develop(PackageSpec(path=pwd()));
36-
Pkg.instantiate();
37-
Pkg.build()'
38-
- julia --color=yes test/runtests.jl
39-
cache:
37+
artifacts:
38+
when: always
4039
paths:
41-
- ccache/
42-
- jldepot/
40+
- mpi/
4341

42+
# Julia versions
43+
julia:1.3:
44+
extends:
45+
- .julia:1.3
46+
- .test
47+
tags:
48+
- nvidia
4449

45-
.gputest:
46-
extends: .projecttest
47-
variables:
48-
CI_IMAGE_TAG: 'cuda'
49-
OPENMPI_VER: '4.0'
50-
OPENMPI_VER_FULL: '4.0.1'
50+
julia:1.4:
51+
extends:
52+
- .julia:1.4
53+
- .test
5154
tags:
5255
- nvidia
5356

54-
gpu:test:dev:
55-
extends: .gputest
56-
variables:
57-
CI_VERSION_TAG: 'dev'
57+
julia:nightly:
58+
extends:
59+
- .julia:nightly
60+
- .test
61+
tags:
62+
- nvidia
5863
allow_failure: true
59-
60-
gpu:test:v1.3:
61-
extends: .gputest
62-
variables:
63-
CI_VERSION_TAG: 'v1.3'
64-
65-
gpu:test:v1.2:
66-
extends: .gputest
67-
variables:
68-
CI_VERSION_TAG: 'v1.2'
69-
70-
gpu:test:v1.1:
71-
extends: .gputest
72-
variables:
73-
CI_VERSION_TAG: 'v1.1'
74-
75-
gpu:test:v1.0:
76-
extends: .gputest
77-
variables:
78-
CI_VERSION_TAG: 'v1.0'

.travis.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ os:
77

88
julia:
99
- 1.0
10-
- 1.1
11-
- 1.2
1210
- 1.3
11+
- 1.4
1312
- nightly
1413

1514
branches:

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ Requires = "~0.5, 1.0"
1818
julia = "1"
1919

2020
[extras]
21+
CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae"
2122
DoubleFloats = "497a8b3b-efae-58df-a0af-a86822472b78"
2223
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
2324
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2425

2526
[targets]
26-
test = ["DoubleFloats", "Pkg", "Test"]
27+
test = ["CuArrays", "DoubleFloats", "Pkg", "Test"]

conf/ompi_rootenv.patch

Lines changed: 0 additions & 29 deletions
This file was deleted.

conf/travis-install-mpi.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ set -x
77

88
MPI_IMPL="$1"
99
os=`uname`
10-
OMPIVER=openmpi-3.0.0
11-
MPICHVER=mpich-3.2.1
10+
OMPIVER=4.0.3
11+
MPICHVER=3.3.2
1212
IMPIVER=2019.4.243
1313
case "$os" in
1414
Darwin)
@@ -41,9 +41,9 @@ case "$os" in
4141
sudo apt-get install -y gfortran hwloc ccache
4242
sudo /usr/sbin/update-ccache-symlinks
4343
export PATH="/usr/lib/ccache:$PATH"
44-
wget http://www.mpich.org/static/downloads/3.2.1/$MPICHVER.tar.gz
45-
tar -zxf $MPICHVER.tar.gz
46-
cd $MPICHVER
44+
wget http://www.mpich.org/static/downloads/$MPICHVER/mpich-$MPICHVER.tar.gz
45+
tar -zxf mpich-$MPICHVER.tar.gz
46+
cd mpich-$MPICHVER
4747
sh ./configure --prefix=$HOME/mpich --enable-shared > /dev/null
4848
make -j > /dev/null
4949
sudo make install > /dev/null
@@ -52,9 +52,9 @@ case "$os" in
5252
sudo apt-get install -y gfortran ccache
5353
sudo /usr/sbin/update-ccache-symlinks
5454
export PATH="/usr/lib/ccache:$PATH"
55-
wget --no-check-certificate https://www.open-mpi.org/software/ompi/v3.0/downloads/$OMPIVER.tar.gz
56-
tar -zxf $OMPIVER.tar.gz
57-
cd $OMPIVER
55+
wget --no-check-certificate https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-$OMPIVER.tar.gz
56+
tar -zxf openmpi-$OMPIVER.tar.gz
57+
cd openmpi-$OMPIVER
5858
sh ./configure --prefix=$HOME/openmpi > /dev/null
5959
make -j > /dev/null
6060
sudo make install > /dev/null

test/cudaenv/Project.toml

Lines changed: 0 additions & 6 deletions
This file was deleted.

test/runtests.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
using Pkg
2-
pkg"precompile"
3-
using DoubleFloats
2+
using Test
43

54
using MPI
6-
using Test
75

8-
import MPI: mpiexec_path
6+
# load test packages to trigger precompilation
7+
using DoubleFloats
8+
if get(ENV,"JULIA_MPI_TEST_ARRAYTYPE","") == "CuArray"
9+
using CuArrays
10+
end
11+
912

1013
# Code coverage command line options; must correspond to src/julia.h
1114
# and src/ui/repl.c

0 commit comments

Comments
 (0)