From f2ace5de982140bb19515dccd6cf3b8b5d3db6e4 Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Sat, 5 Oct 2019 10:50:14 +0200 Subject: [PATCH] Increased default Field alignment to 64 byte (AVX512 ready) --- src/field/Field.impl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/field/Field.impl.h b/src/field/Field.impl.h index 39b9b227..c9210691 100644 --- a/src/field/Field.impl.h +++ b/src/field/Field.impl.h @@ -254,14 +254,14 @@ namespace field { // Automatically select allocator if none was given if ( alloc == 0 ) { - const uint_t alignment = 32; + const uint_t alignment = 64; // aligned allocator only used (by default) if ... if ( l == fzyx && // ... we use a structure of arrays layout _xSize * sizeof(T) > alignment && // ... the inner coordinate is sufficiently large sizeof(T) < alignment && // ... the stored data type is smaller than the alignment alignment % sizeof(T) == 0 ) // ... there is an integer number of elements fitting in one aligned line - alloc = make_shared<AllocateAligned<T,32> >(); + alloc = make_shared<AllocateAligned<T,alignment> >(); else alloc = make_shared<StdFieldAlloc<T> > (); } -- GitLab