AutoPas / AutoPas/AutoPas

Improve Verlet List SoA list building

Open
#976 1 comment 0 reactions 1 assignee Claimed by @thesamriel View on GitHub
Dominant language
C++
Stars
52
Forks
17
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
Our Verlet List SoA performance is pretty bad compared to the AoS. The way our SoA lists are built is that we first build AoS lists (where the list is a list of pointers to neighbouring particles), and then we convert it to a SoA-friendly list (where the list is a list of indices).

We do this by looping over all the particles in a cell, creating a mapping from a pointer to the particle and the particle's index. We then reserve SoA list space, looping over the AoS lists and placing indices into the SoA list that match the pointers in the AoS lists.

**Describe the solution you'd like**
Just directly create the SoA neighbour lists. This would involve a relatively minor change to the list creation (at least for the new `rebuildNeighborListsC08`).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.