Dear All, I would like to answer to my own question. I have found that chkp_each works also for mps_optim (not only for mps_evolve) It enables to checkpoint every few iterations (for example every 100).
BTW setting chkp_each to 0 causes „division by zero“ error due to line 113 of a file: ./applications/dmrg/mps/mps_optim/dmrg_sim.hpp
113 if (stopped || (sweep+1) % chkp_each == 0 || (sweep+1) == parms["nsweeps“])
It also shows that turning off checkpointing altogether is not possible, but this is the line which has to be modified to switch it off.
Kind Regards, Mateusz Łącki
Dear Mateusz,
Disabling checkpointing is not really possible for how the application computes excited states: 1) compute ground state 2) compute all other states orthogonal to ground state and other excited states 3) loop through all the saved states and run the measurement routines
So, even if you compute only the ground state, the program will first write the checkpoint and then load it again for the measurements.
Saying that here is what you could do. * nsweeps=X, chkp_each=X this way you write only at the end * donotsave=1 will actually disable checkpointing, but the application will crash in the measurement process (because there is nothing to measure on)
Regards, Michele
-- ETH Zurich Michele Dolfi Institute for Theoretical Physics HIT G 32.4 Wolfgang-Pauli-Str. 27 8093 Zurich Switzerland
dolfim@phys.ethz.ch www.itp.phys.ethz.ch
+41 44 633 78 56 phone +41 44 633 11 15 fax
On 19 Oct 2014, at 19:55, Mateusz Łącki mateusz.lacki@gmail.com wrote:
Dear All, I would like to answer to my own question. I have found that chkp_each works also for mps_optim (not only for mps_evolve) It enables to checkpoint every few iterations (for example every 100).
BTW setting chkp_each to 0 causes „division by zero“ error due to line 113 of a file: ./applications/dmrg/mps/mps_optim/dmrg_sim.hpp
113 if (stopped || (sweep+1) % chkp_each == 0 || (sweep+1) == parms["nsweeps“])
It also shows that turning off checkpointing altogether is not possible, but this is the line which has to be modified to switch it off.
Kind Regards, Mateusz Łącki
Dear Michele, Thanks for additional information.
Kind regards, Mateusz Łącki
On 19 Oct 2014, at 21:19, Michele Dolfi dolfim@phys.ethz.ch wrote:
Dear Mateusz,
Disabling checkpointing is not really possible for how the application computes excited states:
- compute ground state
- compute all other states orthogonal to ground state and other excited states
- loop through all the saved states and run the measurement routines
So, even if you compute only the ground state, the program will first write the checkpoint and then load it again for the measurements.
Saying that here is what you could do.
- nsweeps=X, chkp_each=X this way you write only at the end
- donotsave=1 will actually disable checkpointing, but the application will crash in the measurement process (because there is nothing to measure on)
Regards, Michele
-- ETH Zurich Michele Dolfi Institute for Theoretical Physics HIT G 32.4 Wolfgang-Pauli-Str. 27 8093 Zurich Switzerland
dolfim@phys.ethz.ch www.itp.phys.ethz.ch
+41 44 633 78 56 phone +41 44 633 11 15 fax
On 19 Oct 2014, at 19:55, Mateusz Łącki mateusz.lacki@gmail.com wrote:
Dear All, I would like to answer to my own question. I have found that chkp_each works also for mps_optim (not only for mps_evolve) It enables to checkpoint every few iterations (for example every 100).
BTW setting chkp_each to 0 causes „division by zero“ error due to line 113 of a file: ./applications/dmrg/mps/mps_optim/dmrg_sim.hpp
113 if (stopped || (sweep+1) % chkp_each == 0 || (sweep+1) == parms["nsweeps“])
It also shows that turning off checkpointing altogether is not possible, but this is the line which has to be modified to switch it off.
Kind Regards, Mateusz Łącki
comp-phys-alps-users@lists.phys.ethz.ch