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

[C++] Utility method to ensure an array object meetings an alignment requirement #33317

Closed
Tracked by #33313
asfimport opened this issue Oct 21, 2022 · 2 comments · Fixed by #14758
Closed
Tracked by #33313

[C++] Utility method to ensure an array object meetings an alignment requirement #33317

asfimport opened this issue Oct 21, 2022 · 2 comments · Fixed by #14758

Comments

@asfimport
Copy link
Collaborator

This would look something like:

EnsureAligned(Buffer|Array|ChunkedArray|RecordBatch|Table, int minimum_alignment, MemoryPool* memory_pool);

It would fail if MemoryPool's alignment < minimum_alignment
It would iterate through each buffer of the object, if the object is not aligned properly, it would reallocate and copy the buffer (using memory_pool)

It would return a new object where every buffer is guaranteed to meet the alignment requirements.

Reporter: Weston Pace / @westonpace
Assignee: Sanjiban Sengupta / @sanjibansg

PRs and other links:

Note: This issue was originally created as ARROW-18119. Please see the migration documentation for further details.

@rtpsw
Copy link
Contributor

rtpsw commented Mar 23, 2023

@westonpace, @sanjibansg: we are interested in this PR getting merged soon. cc @icexelloss.

westonpace pushed a commit that referenced this issue Mar 24, 2023
…alignment requirement (#14758)

This PR adds a utility function which is responsible for ensuring that all the buffers of an arrow object are properly aligned. It checks all the buffers in an arrow object for alignment, and if not aligned properly, then allocates a buffer by specifying the required alignment and copies data from the previous buffer.
* Closes: #33317

Authored-by: Sanjiban Sengupta <sanjiban.sg@gmail.com>
Signed-off-by: Weston Pace <weston.pace@gmail.com>
@westonpace westonpace added this to the 12.0.0 milestone Mar 24, 2023
@icexelloss
Copy link
Contributor

Thanks @westonpace !

rtpsw pushed a commit to rtpsw/arrow that referenced this issue Mar 27, 2023
…gs an alignment requirement (apache#14758)

This PR adds a utility function which is responsible for ensuring that all the buffers of an arrow object are properly aligned. It checks all the buffers in an arrow object for alignment, and if not aligned properly, then allocates a buffer by specifying the required alignment and copies data from the previous buffer.
* Closes: apache#33317

Authored-by: Sanjiban Sengupta <sanjiban.sg@gmail.com>
Signed-off-by: Weston Pace <weston.pace@gmail.com>
ArgusLi pushed a commit to Bit-Quill/arrow that referenced this issue May 15, 2023
…gs an alignment requirement (apache#14758)

This PR adds a utility function which is responsible for ensuring that all the buffers of an arrow object are properly aligned. It checks all the buffers in an arrow object for alignment, and if not aligned properly, then allocates a buffer by specifying the required alignment and copies data from the previous buffer.
* Closes: apache#33317

Authored-by: Sanjiban Sengupta <sanjiban.sg@gmail.com>
Signed-off-by: Weston Pace <weston.pace@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants