Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
orrery::backend::PaddedWorkerStatistics Struct Reference

One worker's record, on a cache line of its own. More...

#include <orrery/backend/worker_statistics.hpp>

Public Attributes

WorkerStatistics value

Detailed Description

One worker's record, on a cache line of its own.

Workers update their own records while the others are updating theirs, and two adjacent records in an array would share a cache line. Neither worker would read the other's counters, but every increment would still take exclusive ownership of the line away from the other core, which is precisely the false sharing partition.hpp goes to some trouble to avoid in the particle arrays. It would be a poor showing for the instrumentation that measures a threading scheme to be the thing slowing it down.


The documentation for this struct was generated from the following file: