-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add reorder kernels for switching from/to Cartesian ordering #76
Conversation
I think the PR in its final shape, and ready for a review. |
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.
Added some documentation but otherwise looks good! Cartesian remap should enable continued development on IO.
Co-authored-by: Jamie J Quinn <[email protected]>
Thanks a lot! |
The idea is we interact with outside world always with Cartesian data order.
Backends require a special data structure, but they are capable of converting the specialist data structure into Cartesian and vice versa, so we can and should always input from and output to Cartesian ordered arrays.
We plan to carry out this operation with the
get_field
/set_field
subroutines in both backends, but as of now they can't carry out the conversion to and from Cartesian yet. Becase in order to switch to and from Cartesian we need to be able to request a Cartesian shape from the allocator, (#34), and the plan is to merge the PR enables this on Monday after finalising some important decisions.Although this PR doesn't enables the actual functionality we need, it provides all the necessary kernels. I think the best would be merging this before #34, and making the final minor changes in
get_field
/set_field
in #34.