[
https://issues.apache.org/jira/browse/ARROW-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16110146#comment-16110146
]
Wes McKinney commented on ARROW-1224:
-------------------------------------
I don't believe that 16-byte alignment is required to use SIMD instructions,
though the SIMD operators will perform better if the data is aligned.
I believe we should say, at least as far as IPC is concerned:
* Minimum required alignment and padding: 8 bytes
* Recommended padding: 64 byte boundaries
* Recommended alignment: 64 bytes
In the event that you do not pad: algorithms will need to take care with the
bytes at the end of a buffer (modulo 64). In the event that you do not align:
performance will be slightly worse.
> [Format] Clarify language around buffer padding and alignment in IPC
> --------------------------------------------------------------------
>
> Key: ARROW-1224
> URL: https://issues.apache.org/jira/browse/ARROW-1224
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Format
> Reporter: Wes McKinney
> Assignee: SIDDHARTH TEOTIA
> Fix For: 0.6.0
>
>
> We recommend 64-byte padding in memory allocations, but in practice some
> systems may emit buffers that are only 8-byte aligned. We should take a look
> through the format documents and perhaps indicate that 64-byte padding is the
> _preferred_ padding but that 8-byte padding is the _required_ padding.
> In particular, it should be clear that each buffer in an IPC payload must
> start on an aligned 8-byte offset, but it does not necessarily need to be
> 64-byte aligned.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)