Skip to content

Refactor store, create Allen::buffer and use that in host_buffers

Daniel Campora Perez requested to merge dcampora_refactor_store into master

This MR refactors the Allen store by:

  • Moving all relevant files into better named filenames under stream/store/include.
  • Puts all functionality in there under namespace Allen::Store::

It aims to get back the speed of the sequence lost by the monitoring buffers:

  • Create Allen::buffer datatypes, that can be used in conjunction with an instance of the MemoryManager.
  • Add local instance of Host MemoryManager in host_buffers.

This way, Allen::buffers will be resized when required inside a memory buffer, which shouldn't result in a slowdown.

This MR fixes the throughput issue caused by host buffers:

Device                        Throughput (kHz)    Reference Throughput (kHz)  Speedup    % change    Status
--------------------------  ------------------  ----------------------------  ---------  ----------  --------
NVIDIA RTX A5000                        171.96                        127.82  1.35x      34.54%      OK
AMD EPYC 7502 32-Core                    17.18                         16.65  1.03x      3.17%       OK
NVIDIA GeForce RTX 2080 Ti              133.73                        102.11  1.31x      30.96%      OK
NVIDIA GeForce RTX 3090                 220.51                        147.02  1.50x      49.98%      OK
Device-averaged speedup: 1.30x
               % change: 29.66%
                 status: OK

Closes #329 (closed) and #328 (closed)

Edited by Daniel Campora Perez

Merge request reports