HISKP-LQCD / sLapH-contractions

Stochastic LapH contraction program
GNU General Public License v3.0
3 stars 3 forks source link

Memory considerations with eigenvectors #90

Open martin-ueding opened 5 years ago

martin-ueding commented 5 years ago

On the large lattices the reading of all eigenvectors might not fit into memory, we likely have to carefully check how many of them we have in memory at the same time.

kostrzewa commented 5 years ago

An alternative is to generate VdaggerV and use that. In fact, we are now facing this problem and really need to make progress here. @pittlerf this is the place to contribute if you want to take the lead on this.

kostrzewa commented 5 years ago

@martin-ueding Is VdaggerV support still broken or disabled?

kostrzewa commented 5 years ago

@matfischer @urbach This needs to be worked on before the cA2.09.48 rho contractions can be done on Juwels. Also relevant for 3pi. (and anything else, really)

kostrzewa commented 5 years ago

Relatively easy fixes might be to

1) rewrite the VdaggerV code to read the contractions input file, generate all required VdaggerV based on the generated dependencies. This can happen time-slice by time-slice, so memory should not be a problem. One could also trivially MPI-parallelize this, just so as to be able to run larger jobs which might queue more quickly. (or one does MPMD, although that is somewhat less automatic)

2) do the same as above but in the contraction code: read eigenvenctors time slice by time slice and generate the necessary VdaggerV at a constant memory cost of keeping a single time slice of eigenvectors resident. This memory can afterwards of course also be released.