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

Dev dispatch #6

Merged
merged 30 commits into from
Nov 17, 2023
Merged

Dev dispatch #6

merged 30 commits into from
Nov 17, 2023

Conversation

imrn99
Copy link
Owner

@imrn99 imrn99 commented Nov 9, 2023

First part of the CPU dispatch code

TODO:

  • Check for a better kernel type using Box<dyn KernelArgs> as argument instead of an enum. Since Kokkos uses templating, the static enum seems like the most coherent choice.
  • Change view implem to make it possible to write immutable kernels using thread-safe data type & methods
  • Add std::threads support
  • Add feature documentation

For the next part

  • Some benches
  • MDRange & tiling support
  • Team-based policies For now, the focus will be on tiling.

imrn99 added 30 commits October 31, 2023 10:31
should upcasting ever be stabilized, this version may compile
kernels are written in a Box, using an enum as argument
this comes at a ~20% perf cost according to the mdrange_populate
bench
need to write a bench with a simple parallel for to
make sure the feature works
these warnings are technically erroneous since the auto fix
creates errors
there is indeed a 2* speedup when using `--features rayon`
perf significantly worsen past the size of my L1 caches
kernel dispatch using raw pointers produces sigsegv :)
impl trait in type aliases have yet to be stabilized, might switch to
nightly
@imrn99 imrn99 merged commit 7544eb1 into master Nov 17, 2023
4 checks passed
@imrn99 imrn99 deleted the dev_dispatch branch November 17, 2023 09:29
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.

1 participant