Repository navigation
feat(cuda): add driver context and resource ownership - #10720
Conversation
Merging this PR will degrade performance by 5.52%2 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
8390bc7 to
7085828
Compare
60b9ab5 to
172564e
Compare
172564e to
3c6c195
Compare
## Problem The driver replacement needs a small CUDA binding layer with lazy library loading. ## Solution Add raw handles, symbols, errors, and fallible call wrappers in `vortex-cuda-driver`. ## Assessment The crate is excluded from publishing; existing consumers still use cudarc. Based on #10726 and prerequisite for #10720. Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Add owned and borrowed CUDA resources, explicit thread-context binding, stream and event synchronization, module loading, and deferred driver errors. Stage allocation helpers and event pooling with the memory-tracking change that consumes them. Original-commit: 5fd3f54eba Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
7085828 to
b896d5d
Compare
## Problem Device memory shared across streams needs ordered access and deallocation without redundant waits. ## Solution Add typed allocations/views, copies, pointer guards, pooled access events, and kernel launches. ## Assessment Depends on #10720; activated by #10722. The driver remains excluded from publishing. Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Problem
Raw CUDA handles do not manage ownership, thread-context binding, or cleanup errors.
Solution
Add owned and borrowed contexts, streams, events, and modules with explicit binding and deferred error handling.
Assessment
Depends on #10719. The crate remains unpublished; consumers switch in #10722.