You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "SIDDHARTH TEOTIA (JIRA)" <ji...@apache.org> on 2017/08/02 00:43:00 UTC
[jira] [Commented] (ARROW-1224) [Format] Clarify language around
buffer padding and alignment in IPC
[ https://issues.apache.org/jira/browse/ARROW-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16110055#comment-16110055 ]
SIDDHARTH TEOTIA commented on ARROW-1224:
-----------------------------------------
[~wesmckinn], [~jnadeau], [~sphillips]
I understand that 64-byte alignment recommendation comes from the fact that largest (AFAIK) SIMD register available is Intel AVX-512. So we can load the column values from the 64-byte buffer into the 512-bit wide SIMD register and run operations in parallel -- higher degree of data-level parallelism
However, it looks like the minimum/strict alignment requirement should be 16-byte boundary as far as SIMD processing is concerned since that allows us to use 128-bit wide SIMD registers added as part of Intel SSE instruction set.
Am I missing something?
Thanks,
Sidd
> [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)