-
Notifications
You must be signed in to change notification settings - Fork 323
Implement parallelization using rayon #252
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
Conversation
@pegasos1 even though implementing these general interfaces first seem like the best starting point, the whole thing already feels very complex. User needs to pick between using the built in higher order methods like |
To go further, the higher order methods themselves can be parallelized.
Much later: Parallelize array zip. |
Superseded for now #264 |
ArrayView
,ArrayViewMut
,&Array
and&mut Array
AxisIter
andAxisIterMut
The axis iterators are straightforward. They are indexed and exact length, and in order.
The element iterators have no guaranteed order (so that we can split the array where it's best for memory locality). The inner loop can not be customized yet, but will be when upstream rayon releases
fold_with
(this is important when the operation is cheap and wants to be autovectorized).Fixes #248 and much more