Perhaps the thing I’m misunderstanding is that the compiler flag in
question only pertains to data loaded in an AVX register?

On Thu, Aug 4, 2022 at 9:14 PM James <[email protected]> wrote:

> In the columnar format
> <https://arrow.apache.org/docs/format/Columnar.html> doc, it is noted
> that buffers ought to be allocated such that they're 64 byte aligned and
> padded. It is also noted that this allows the use of compiler options such
> as -qopt-assume-safe-padding. However, my understanding
> of -qopt-assume-safe-padding is that all heap allocations need to be 64
> byte aligned and padded. Is this consistent with the use of
> std::make_shared?  Perhaps I'm missing something, but it looks like there
> are many heap allocations throughout the cpp code that are not 64 byte
> aligned and padded. Is it the intention that only the columnar buffer data
> be aligned and padded. If yes, then does the use of std::make_shared make
> use of -qopt-assume-safe-padding not possible?
>

Reply via email to