Skip to content

[BUG] CUVS_EXPLICIT_INSTANTIATE_ONLY & RAFT_COMPILED used but never defined #242

@achirkin

Description

@achirkin

The remnants of the RAFT->cuVS migration, the two definitions CUVS_EXPLICIT_INSTANTIATE_ONLY and RAFT_COMPILED are still used internally in cuVS, but never defined.
As a result, *-ext.cuh files are never touched by the compiler and the detection of implicit instantiation is broken.

I'm not sure if we still need this in cuVS though. On the one hand, since the public API is free of templates, the implicit instantiation on the user side is not possible. On the other hand, these checks still have a value internally in cuVS - to make sure all relevant kernel instances are compiled in separate files in parallel and get used by the calling templated code (rather than re-compiled at the call side).

In any case, we either should remove these constructs or fix and use them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions