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
772 stars 194 forks source link

[FEA] rename ASSERT in error.hpp to RAFT_ASSERT #2462

Open hsgui opened 1 month ago

hsgui commented 1 month ago

Is your feature request related to a problem? Please describe. I wish I could use RAFT together with another thirdparty library. but the redefine of ASSERT in error.hpp will cause the compiling issue as ASSERT is just so common used.

for example gperftools also has its own macro define ASSERT in internal_logging.h

Describe the solution you'd like Could we just rename the ASSERT to something like RAFT_ASSERT?

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context, code examples, or references to existing implementations about the feature request here.

cjnolet commented 1 month ago

Hi @hsgui,

Thanks for opening an issue about this. We have had a long standing todo to remove the ASSERT macro in RAFT altogether since we have been using RAFT_EXPECTS for some time. We will go ahead and remove this for our next release (24.12)

hsgui commented 1 month ago

@cjnolet thanks for your replying.

May I ask when will our next release be? Maybe I could make a pull request to replace ASSERT with RAFT_EXPECTS?

thanks again

cjnolet commented 1 month ago

Thanks @hsgui. Pull requests are always welcome and that would be a great way to get more familiar with the contributions process if you are interested.

We release every 2 months on the CalVer scheme, so our current release 24.10 will be released in October, however we already entered code freeze for this release and so it’s too late to add changes. The next release is 24.12, which will be released in December.

But that doesn’t mean users have to wait until December before packages are available because we release new nightly packages after every PR is merged.