Add explicit testing for minor version compatibility between build and runtime environments
- 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
Assessment
This issue has not been assessed yet.