-
Notifications
You must be signed in to change notification settings - Fork 197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEA] Separate device and host API #443
Comments
This issue has been labeled |
@MatthiasKohl after recent discussions, I realized we were talking about slightly different things wrt to host vs device APIs. I was taking "device API" to mean that some device functions should be exposed directly through the public API, and should probably be placed in a separate directory or namespace to make them easier to find and use, vs functions which can be invoked from the host and will launch the necessary kernels on the device. That said, I'm just leaving a note here to remove the ambiguity and state that this issue is in fact related to separating public device functions from public host functions. I will create another issue to handle CUDA vs non-CUDA enabled compilers. |
These relevant files have been renamed (new files created and old files deprecated for 22.04) and I’ve created #555 to remove the files in a future release. Closing this as complete. |
@cjnolet Should we open another issue for getting a host-only API specifically for RNG? What has happened now is that we basically just renamed the |
@MatthiasKohl completely agree with you that RNG has not separated the host from device APIs yet (and all that has been done on it thus far is moving tthe current code over to a cuh extension). I closed this issue because in the end it just came to mean using the hpp and cuh file extensions to more appropriately mark host and device compilable code. I added the outcome of our RNG API redesign discussion to #406 and figured we would track the api updates for separating the host and device APIs there since both are likely to happen in the same PR. What do you think? |
After suggestions from a few folks, I think it's time to think about separating the namespaces / APIs for device and host code. As @wphicks points out, this should also help us speed up compile times overall and as @MatthiasKohl has suggested in reference to the random number generation APIs, it would make for a cleaner and more explicit API. This will also allow us to isolate the host code in
.hpp
files and only use.cuh
files for code actually containing device functions.Currently, we're working to refactor mostly host code, as we're exposing our public API as
.hpp
files. We should have device-specific functions in.cuh
files and be careful about the extensions we use.The text was updated successfully, but these errors were encountered: