Open
Description
This came up in #6525 which attempted to remove ODR violations, and we noticed that check-symbols
in CI fails even after removing the ODR violations. This is due to the fact that these kernels are called across TU boundaries and the issue is separate from satisfying ODR.
The fix for check-symbols
was to mark the kernels as static
. Per @vyasr #6525 (comment), we should define preprocessor macros that standardize how we annotate our kernel and device functions in cuML.