diff --git a/G/Gloo/build_tarballs.jl b/G/Gloo/build_tarballs.jl index dd2ebd5ad18..5ca9f760f58 100644 --- a/G/Gloo/build_tarballs.jl +++ b/G/Gloo/build_tarballs.jl @@ -15,12 +15,16 @@ script = raw""" cd $WORKSPACE/srcdir/gloo mkdir build cd build +if [[ $bb_full_target == *cuda* ]]; then + cmake_extra_args="-DUSE_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR=$prefix/cuda" +fi cmake \ -DCMAKE_INSTALL_PREFIX=$prefix \ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ -DUSE_LIBUV=ON \ + $cmake_extra_args \ .. cmake --build . -- -j $nproc make install @@ -31,7 +35,14 @@ make install platforms = supported_platforms() filter!(p -> nbits(p) == 64, platforms) # Gloo can only be built on 64-bit systems filter!(!Sys.iswindows, platforms) # Windows support will be available from 20200910, i.e. 881f7f0dcf06f7e49e134a45d3284860fb244fa9 +cuda_platforms = Platform[] +for cuda_version in [v"10.2", v"11.0", v"11.1", v"11.2", v"11.3", v"11.4", v"11.5", v"11.6"] + cuda_platform = Platform("x86_64", "linux"; cuda = "$(cuda_version.major).$(cuda_version.minor)") + push!(platforms, cuda_platform) + push!(cuda_platforms, cuda_platform) +end platforms = expand_cxxstring_abis(platforms) +cuda_platforms = expand_cxxstring_abis(cuda_platforms) # The products that we will ensure are always built products = [ @@ -41,6 +52,7 @@ products = [ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("LibUV_jll", v"2.0.0"), + BuildDependency("CUDA_full_jll"; platforms = cuda_platforms), ] # Build the tarballs, and possibly a `build.jl` as well.