-
Notifications
You must be signed in to change notification settings - Fork 2
Try switching from rustacuda to cust #23
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
base: main
Are you sure you want to change the base?
Conversation
It may be interesting to look into https://github.com/coreylowman/cudarc |
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #23 +/- ##
==========================================
- Coverage 33.38% 33.32% -0.07%
==========================================
Files 53 53
Lines 6653 6650 -3
==========================================
- Hits 2221 2216 -5
- Misses 4432 4434 +2 ☔ View full report in Codecov by Sentry. |
While the need for a |
&[ModuleJitOption::OptLevel(OptLevel::O4)], | ||
)?); | ||
|
||
// FIXME: cust's Module::get_function takes a str and turns it back into |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might still be nice to fix upstream
} | ||
|
||
unsafe impl DeviceCopy for _ArcInnerHeader {} | ||
#[cfg(feature = "host")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this addition?
rustacuda
is no longer maintained, and includes all ofrustacuda
and most of the custom patches we are using inrust-cuda
.However, the following incompatibilities remain:
cust_core::DeviceCopy
now hasCopy
as a supertrait. This is both too weak and too strong forrust-cuda
. There is no workaround. Ifcust
doesn't change this requirement, no migration can occur.DeviceCopy
should not requireCopy
Rust-GPU/Rust-CUDA#124cust
to explore a better designStream::wait_event
takes an ownedEvent
andEvent
s cannot be cloned or inspected. This could be fixed by falling back to raw FFI for all usages. wait_event method in Stream Rust-GPU/Rust-CUDA#110Stream::add_callback
no longer provides access to the current stream status. The callback might just not be scheduled anymore if an error occurred (which could result in a never-resolving async future), or do something even worse. This could be fixed by falling back to raw FFI. https://stackoverflow.com/questions/56448390/how-to-recover-from-cuda-errors-when-using-cudalaunchhostfunc-instead-of-cudastr