libROM icon indicating copy to clipboard operation
libROM copied to clipboard

Memory use of `scalapack_f_wrapper::factorize()`

Open dreamer2368 opened this issue 1 year ago • 0 comments

I'm currently playing with the example 1. Although, I'm having a memory limitation error at merge stage, which I think is somewhat strange:

test@3a4a682f99d7:~/build/examples/prom$ sudo ./poisson_global_rom -merge -ns 3
Options used:
   --mesh ../data/star.mesh
   --order 1
   --id 0 
   --nset 3
   --no-static-condensation
   --no-partial-assembly
   --frequency 1
   --coefficient 1
   --device cpu
   --visit-datafiles
   --visualization
   --no-fom
   --no-offline
   --no-online
   --merge
Device configuration: cpu
Memory configuration: host-std
Number of finite element unknowns: 82561
Opening file: basis0_snapshot.000000
Opening file: basis1_snapshot.000000
Opening file: basis2_snapshot.000000
Creating file: basis.000000
In file '/home/test/libROM/lib/linalg/scalapack_f_wrapper.f90', around line 525: Error allocating 13081962144 bytes: Cannot allocate memory

In file '/home/test/libROM/lib/linalg/scalapack_f_wrapper.f90', around line 525 corresponds to the middle of factorize() function. It's demanding about 13GB of memory for SVD operation of matrix of size (82561, 3), which probably takes about 2 MB of memory.

When I run this on a machine with a larger memory, it works as expected. Although, I'm wondering if this memory usage is an expected size.

dreamer2368 avatar Aug 03 '23 00:08 dreamer2368