Project

General

Profile

Task #1876

Reorganize vector input passed to core MD routines

Added by Berk Hess almost 4 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
core library
Target version:
Difficulty:
uncategorized
Close

Description

The core MD routines need to be fast and many are currently being converted to use SIMD intrinsics. This means that the inputs (x, v, f, ?) need to be SIMD aligned, sometimes padded at the end. A peculiar, currently relevant, issue is that we need one element extra for unaligned 4-wide SIMD loads (which is not the same as padded up to a multiple of the SIMD width!), see:
https://gerrit.gromacs.org/#/c/5445/

To ensure these requirements, we need ways to check that the input to core MD routines have alignment and paddings. This probably means we can't pass plain rvecs to thing like do_force() or constrain(). I guess the proper way is to define an MD rvec object with its own allocator.

History

#1 Updated by Erik Lindahl almost 4 years ago

This problem should already be solved: Use STL containers with the AlignedAllocator we already have in the code.

#2 Updated by Mark Abraham over 3 years ago

  • Target version changed from 2016 to future

Also available in: Atom PDF