[ 
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)

Reply via email to