libflatarray
libflatarray copied to clipboard
Multi-dimensional C++ arrays which store objects in a Struct-of-Arrays (SoA) memory layout for efficient vectorization and zero address generation overhead.
I notice there is a workaround: https://github.com/gentryx/libflatarray/blob/master/include/libflatarray/aligned_allocator.hpp ``` /** * Added due to compiling for Intel MIC with CPP14=TRUE * GCC Bug Report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51626 */ void construct(pointer p) { std::allocator().construct(p,...
e.g. template
This is available from similar libraries (like Vc or Boost.Simd).
...to utilize float, float2, float4 (artity: WARP_SIZE \* 4), double (arity WARP_SIZE), double2 (arity WARP_SIZE \* 2) and corresponding load/store operations. needs benchmarks, obviously. bonus points for using warp shuffle...
Reference: http://rrsd.com/blincubator.com/requirements_documentation/ Moved from https://bitbucket.org/gentryx/libflatarray/issues/14/add-basic-documentation
What needs to be done first? - directory layout #9 - comprehensive list of examples - documentation: 5min how-to - documentation: design rationale, comparison with existing vectorization libs moved from...
Moved from https://bitbucket.org/gentryx/libflatarray/issues/13/adopt-boost-directory-layout