NVIDIA / NVIDIA/cccl

Add explicit testing for minor version compatibility between build and runtime environments

Open
#5,987 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

As a user of CCCL in C++, I want to be able to build an application using the latest CCCL and compiler toolchain from the latest X.Y CUDA Toolkit and have that application work as intended when running on an X.0 runtime environment.

In other words, we want to explicitly test
1. **Build** with nvcc/libcudart/libcuda from CTK `X.Y`
2. **Run** with libcuda/libcudart from CTK `X.0`

One of the main goals of is to verify we gracefully fallback and/or error when using new symbols added between `X.0` and `X.Y`.

I suspect this will require us to add some new test infrastructure machinery that allows us to specify the behavior of a test based on the runtime environment. e.g., a test that requires a new symbol may still succeed by throwing an error when running in an older runtime environment.

This issue can be closed by adding a new CI job that:
1. Build CCCL unit tests with latest gcc/latest CTK/linux/x86/all C++ dialects
2. Run unit tests with a runtime environment of oldest CTK/driver

Related Issues:
- https://github.com/NVIDIA/cccl/issues/5970

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.