rapidsai / raft

RAFT contains fundamental widely-used algorithms and primitives for machine learning and information retrieval. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.
https://docs.rapids.ai/api/raft/stable/
Apache License 2.0
780 stars 195 forks source link

[FEA] Extern template specializations (and raft-core lib) for mdarray/mdspan infrastructure #759

Open cjnolet opened 2 years ago

cjnolet commented 2 years ago

Now that we're making more use of the mdspan/mdarray across the codebase, we're seeing increase in compile times. Even though each individual instantiation/specialization should be very fast to compile, we're finding a massive increase in the number of times they need to be compiled for each different type. We should follow the same pattern we've done for the distances and nearest neighbors APIs and provide an optional raft/core/specializations.cuh header which can be included that uses extern template in order to use pre-compiled instantiations instead of recompiling them everytime.

github-actions[bot] commented 2 years ago

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.