Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pbc_simd.h File Reference
#include "config.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/simd/simd.h"
+ Include dependency graph for pbc_simd.h:
+ This graph shows which files directly or indirectly include this file:


This file contains a definition, declaration and inline function for SIMD accelerated PBC calculations.

Berk Hess


void set_pbc_simd (const t_pbc *pbc, real *pbc_simd)
 Set the SIMD PBC data from a normal t_pbc struct. More...

Function Documentation

void set_pbc_simd ( const t_pbc pbc,
real pbc_simd 

Set the SIMD PBC data from a normal t_pbc struct.

pbcType of periodic boundary, NULL can be passed for then no PBC will be used.
pbc_simdPointer to aligned memory with (DIM + DIM*(DIM+1)/2) GMX_SIMD_REAL_WIDTH reals describing the box vectors unrolled by GMX_SIMD_REAL_WIDTH. These are sorted in a slightly non-standard order so that we always issue the memory loads in order (to improve prefetching) in pbc_correct_dx_simd(). The order is inv_bzz, bzx, bzy, bzz, inv_byy, byx, byy, inv_bxx, and bxx.