Skip to content

Recurrent 3d interface uses a lot of memory #1872

@mkschleg

Description

@mkschleg

After making the recurrent performance measure in #1871 , I noticed that the memory usage of the 3d interface from #1686 uses significantly more memory than the normal interface. This likely has to do with creating views to walk across the temporal dimension. This wasn't an issue for smaller networks (which is what we mostly used to test), but starts becoming problematic as things get larger/the sequence is longer. Below are the benchmark results

Normal Interface:

CPU n=1000, t=64
  forward
  1.682 s (384 allocations: 728.63 MiB)
  backward
  2.197 s (5928 allocations: 2.13 GiB)
  forw and back
  4.545 s (13591 allocations: 3.32 GiB)

3d Interface:

CPU n=1000, t=64
  forward
  1.765 s (389 allocations: 976.58 MiB)
  backward
  14.547 s (7973 allocations: 32.41 GiB)
  forw and back
  17.122 s (16308 allocations: 33.61 GiB)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions