ci: Add job to test minimal CUDA install (no static libs)

Some package managers provide a minimal set of static libraries,
which historically has caused problems for FindCUDAToolkit.
Resolve this issue by creating a CUDA image with only the minimal
set of static libraries.
This commit is contained in:
Robert Maynard 2022-12-02 09:32:33 -05:00 committed by Brad King
parent 4f9ec5a9be
commit 004f954401
5 changed files with 59 additions and 0 deletions

View File

@ -295,6 +295,16 @@ t:cuda11.6-clang:
variables:
CMAKE_CI_NO_MR: "true"
t:cuda11.8-minimal-ninja:
extends:
- .cuda11.8_minimal_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .run_dependent
- .needs_centos6_x86_64
variables:
CMAKE_CI_NO_MR: "true"
t:hip4.2-radeon:
extends:
- .hip4.2_radeon

View File

@ -0,0 +1,3 @@
set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

View File

@ -0,0 +1,5 @@
FROM nvidia/cuda:11.8.0-devel-ubuntu20.04
MAINTAINER Robert Maynard <rmaynard@nvidia.com>
COPY install_deps.sh /root/install_deps.sh
RUN sh /root/install_deps.sh

View File

@ -0,0 +1,26 @@
#!/bin/sh
set -e
apt-get update
# Install dependency without interaction.
env DEBIAN_FRONTEND=noninteractive \
TZ=America/New_York \
apt-get install -y \
tzdata
# Install development tools.
apt-get install -y \
g++ \
curl \
git
# Reduce to minimal subset of libraries by removing static libraries
mkdir /tmp/cuda_required
mv /usr/local/cuda/lib64/libcuda* /tmp/cuda_required/
rm -f /usr/local/cuda/lib64/*static.a
mv /tmp/cuda_required/libcuda* /usr/local/cuda/lib64/
rmdir /tmp/cuda_required
apt-get clean

View File

@ -331,6 +331,21 @@
CMAKE_CONFIGURATION: cuda11.6_clang
CTEST_NO_WARNINGS_ALLOWED: 1
.cuda11.8_minimal:
image: "kitware/cmake:ci-cuda11.8-minimal-x86_64-2022-12-06"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
CMAKE_ARCH: x86_64
CTEST_LABELS: "CUDA"
CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
.cuda11.8_minimal_nvidia:
extends: .cuda11.8_minimal
variables:
CMAKE_CONFIGURATION: cuda11.8_minimal_nvidia
CTEST_NO_WARNINGS_ALLOWED: 1
### HIP builds
.hip4.2: