Skip to content
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

Minimum upgrade to async-capable rust-cuda v2 #276

Merged
merged 8 commits into from
May 20, 2024
Merged

Conversation

juntyr
Copy link
Owner

@juntyr juntyr commented May 19, 2024

Supersedes #230 (too widely scoped) and #271 (for easier rebases). Also, this PR is no longer blocked on #79.

This PR upgrades rust-cuda to the latest version which has simplified and improved the PTX kernel API, added support for async kernel execution and memory transfers, and fixed some memory safety issues.

Some progress

Further async integration progress, rustcoalescence fails to compile

Some progress with dispatch coersion

Small cleanup

Cleanup cuda algorithm coersion

Some more cleanup

Add back missing Backup for SeaHash and WyHash rngs

Fix CUDA kernel extraneous pub exports

Minor improvement of the event buffer hack

Remove unused control_flow_enum feature

Revert Copy for [Indexed]Location

Revert new clone

Update to rust-cuda with async kernel launch async return

Update to latest rust-cuda

Fix rustfmt

Temporary fix to allow CUDA algorithm linking

Small cleanup, mostly of unused clippy allows

Small improvement to CUDA EventBuffer

Try trait-based kernel signature check

Update rust-toolchain

Fix clippy lints

Try with const match instead

Try with memcmp intrinsic

Try out experimental const-type-layout with compression

Try interning all const layout strings

Try check

Try check again
@codecov-commenter
Copy link

codecov-commenter commented May 19, 2024

Codecov Report

Attention: Patch coverage is 0% with 353 lines in your changes are missing coverage. Please review.

Project coverage is 16.23%. Comparing base (0602676) to head (11981ee).

Files Patch % Lines
.../algorithms/cuda/src/parallelisation/monolithic.rs 0.00% 84 Missing ⚠️
rustcoalescence/algorithms/cuda/src/launch.rs 0.00% 66 Missing ⚠️
rustcoalescence/algorithms/cuda/src/lib.rs 0.00% 56 Missing ⚠️
necsim/impls/cuda/src/event_buffer.rs 0.00% 19 Missing ⚠️
...oalescence/algorithms/cuda/cpu-kernel/src/patch.rs 0.00% 18 Missing ⚠️
necsim/core/src/simulation/mod.rs 0.00% 7 Missing ⚠️
necsim/impls/cuda/src/cogs/maths.rs 0.00% 7 Missing ⚠️
...nce/algorithms/gillespie/src/event_skipping/mod.rs 0.00% 6 Missing ⚠️
...lgorithms/gillespie/src/gillespie/classical/mod.rs 0.00% 6 Missing ⚠️
...algorithms/gillespie/src/gillespie/turnover/mod.rs 0.00% 6 Missing ⚠️
... and 52 more

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #276      +/-   ##
==========================================
- Coverage   16.34%   16.23%   -0.12%     
==========================================
  Files         293      289       -4     
  Lines       20973    20586     -387     
==========================================
- Hits         3429     3343      -86     
+ Misses      17544    17243     -301     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@juntyr juntyr merged commit ab3a275 into main May 20, 2024
6 checks passed
@juntyr juntyr deleted the min-async-cuda-new branch May 20, 2024 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants