Skip to content

Upgrade all allocators to use aligned memory. #9

@drwells

Description

@drwells

f6f9689 in #3 uses std::copy() which is helpful for two reasons:

  1. It assumes that memory regions don't overlap so we don't have a performance penalty from aliasing
  2. It usually resolves to a vectorized (AVX) version of memcpy()

We could probably improve performance across-the-board by using aligned memory everywhere and then annotating our loops (in C++ or Fortran) as such, e.g., with OpenMP's 'this memory is aligned' pragmas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions