Skip to content

Commit 690faae

Browse files
authored
CUDA CI no longer has version tag (#840)
1 parent 2f88c97 commit 690faae

File tree

3 files changed

+23
-50
lines changed

3 files changed

+23
-50
lines changed

.buildkite/pipeline.yml

Lines changed: 15 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
key: "cuda-build-openmpi"
66
agents:
77
queue: "juliagpu"
8-
cuda: "11.0"
8+
cuda: "*"
99
env:
1010
OPENMPI_VER: "4.1"
1111
OPENMPI_VER_FULL: "4.1.4"
@@ -44,61 +44,26 @@
4444

4545
- wait
4646

47-
- label: "Tests -- Julia 1.6"
47+
- label: "Tests -- Julia {{matrix.version}}"
48+
matrix:
49+
setup:
50+
version:
51+
- "1.6"
52+
- "1.7"
53+
- "1.8"
54+
- "1.9"
55+
- "1.10"
56+
concurrency: 1
57+
concurrency_group: mpi_cuda
4858
plugins:
4959
- JuliaCI/julia#v1:
50-
version: "1.6"
60+
version: "{{matrix.version}}"
5161
persist_depot_dirs: packages,artifacts,compiled
5262
agents:
5363
queue: "juliagpu"
54-
cuda: "11.0"
64+
cuda: "*"
5565
if: build.message !~ /\[skip tests\]/
56-
timeout_in_minutes: 60
57-
env:
58-
JULIA_MPI_TEST_NPROCS: 2
59-
JULIA_MPI_PATH: "${BUILDKITE_BUILD_CHECKOUT_PATH}/openmpi"
60-
OMPI_ALLOW_RUN_AS_ROOT: 1
61-
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
62-
OMPI_MCA_btl_vader_single_copy_mechanism: 'none' # https://github.com/open-mpi/ompi/issues/4948
63-
OPAL_PREFIX: "${BUILDKITE_BUILD_CHECKOUT_PATH}/openmpi" # Should we set this for the user?
64-
JULIA_CUDA_MEMORY_POOL: "none"
65-
commands: |
66-
echo "--- Configure MPI"
67-
buildkite-agent artifact download --step "cuda-build-openmpi" mpi-prefix.tar.gz .
68-
mkdir -p $${JULIA_MPI_PATH}
69-
tar -zxf mpi-prefix.tar.gz --strip-components 1 -C $${JULIA_MPI_PATH}
70-
export PATH=$${JULIA_MPI_PATH}/bin:$${PATH}
71-
export LD_LIBRARY_PATH=$${JULIA_MPI_PATH}/lib:$${LD_LIBRARY_PATH}
72-
73-
echo "--- Setup Julia packages"
74-
julia --color=yes --project=. -e '
75-
import Pkg
76-
Pkg.develop(; path = joinpath(pwd(), "lib", "MPIPreferences"))
77-
'
78-
julia --color=yes --project=test -e '
79-
using Pkg
80-
Pkg.develop(path="lib/MPIPreferences")
81-
using MPIPreferences
82-
MPIPreferences.use_system_binary(export_prefs=true)
83-
rm("test/Manifest.toml")
84-
'
85-
86-
echo "+++ Run tests"
87-
julia --color=yes --project=. -e '
88-
import Pkg
89-
Pkg.test("MPI"; test_args=["--backend=CUDA"])
90-
'
91-
92-
- label: "Tests -- Julia latest"
93-
plugins:
94-
- JuliaCI/julia#v1:
95-
version: "1"
96-
persist_depot_dirs: packages,artifacts,compiled
97-
agents:
98-
queue: "juliagpu"
99-
cuda: "11.0"
100-
if: build.message !~ /\[skip tests\]/
101-
timeout_in_minutes: 60
66+
timeout_in_minutes: 90
10267
env:
10368
JULIA_MPI_TEST_NPROCS: 2
10469
JULIA_MPI_PATH: "${BUILDKITE_BUILD_CHECKOUT_PATH}/openmpi"

src/environment.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ provides a mechanism to check, so it will return `false` with other implementati
324324
325325
This can be overriden by setting the `JULIA_MPI_HAS_CUDA` environment variable to `true`
326326
or `false`.
327+
328+
!!! note
329+
For OpenMPI or OpenMPI-based implementations you first need to call [Init()](@ref).
327330
"""
328331
function has_cuda()
329332
flag = get(ENV, "JULIA_MPI_HAS_CUDA", nothing)

test/runtests.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ using DoubleFloats
3838
end
3939
CUDA.precompile_runtime()
4040
ArrayType = CUDA.CuArray
41+
42+
@info """
43+
Running CUDA tests. Ensure that your MPI implementation is
44+
CUDA-aware using `MPI.has_cuda` before reporting issues.
45+
"""
4146
elseif backend_name == "AMDGPU"
4247
Pkg.add("AMDGPU")
4348
ENV["JULIA_MPI_TEST_ARRAYTYPE"] = "ROCArray"

0 commit comments

Comments
 (0)