I occured an error "Intel MKL ERROR: Parameter 10 was incorrect on entry to DGEMM " when using 'singlesite' optimization and 'storagedir' together.
I'm not sure if this is an error of MKL or one of the MPS code in ALPS
However it runs ok if i turn off the "storagedir" option or use the "twosite" optimization schedule.
Here comes the python script
#--------------------------------------------------------------------------------------------#
import pyalps import numpy as np import matplotlib.pyplot as plt import pyalps.plot
#prepare the input parameters parms = [ { 'optimization' : 'singlesite', 'LATTICE' : 'open chain lattice', 'L' : 20, 'MODEL' : 'spin', 'local_S0' : '0.5', 'local_S1' : '1', 'CONSERVED_QUANTUMNUMBERS' : 'N,Sz', 'Sz_total' : 0, 'J' : 1, 'SWEEPS' : 4, 'NUMBER_EIGENVALUES' : 1, 'MAXSTATES' : 50, 'storagedir' : 'storage' } ]
#write the input file and run the simulation input_file = pyalps.writeInputFiles('parm_spin_one',parms) res = pyalps.runApplication('mps_optim',input_file,writexml=True)
#----------------------------------------------------------------------------------------#
-------Su Wei-------
Dear Wei,
Thanks for the report. Unfortunately I will only be able to look into that in a few weeks. In the meantime I hope you could still obtain your results with the twosite algorithm.
Best 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 17 Jul 2015, at 12:22, Wei.Su xichuang_s@163.com wrote:
I occured an error "Intel MKL ERROR: Parameter 10 was incorrect on entry to DGEMM " when using 'singlesite' optimization and 'storagedir' together.
I'm not sure if this is an error of MKL or one of the MPS code in ALPS
However it runs ok if i turn off the "storagedir" option or use the "twosite" optimization schedule.
Here comes the python script
#--------------------------------------------------------------------------------------------#
import pyalps import numpy as np import matplotlib.pyplot as plt import pyalps.plot
#prepare the input parameters parms = [ { 'optimization' : 'singlesite', 'LATTICE' : 'open chain lattice', 'L' : 20, 'MODEL' : 'spin', 'local_S0' : '0.5', 'local_S1' : '1', 'CONSERVED_QUANTUMNUMBERS' : 'N,Sz', 'Sz_total' : 0, 'J' : 1, 'SWEEPS' : 4, 'NUMBER_EIGENVALUES' : 1, 'MAXSTATES' : 50, 'storagedir' : 'storage' } ]
#write the input file and run the simulation input_file = pyalps.writeInputFiles('parm_spin_one',parms) res = pyalps.runApplication('mps_optim',input_file,writexml=True)
#----------------------------------------------------------------------------------------#
-------Su Wei-------
<spin_one.py>
Dear All, I am using the new dwa code to compute sample test case (exactly like in tutorial05.py). The goal is to compute density of atoms in a harmonic trap for the BH model, canonical ensemble.
I would like two ask a few questions:
1. does dwa support canonical ensemble sampling like old worm code? I set RESTRICT_MEASUREMENTS[N]=16, but still I get non-integer “Total Particle Number” like 15.986.
2. I find, that the dwa produces lots of output, which amounts to several tens of MB per second:
Checkpoint Sweep 145857 ... Probability : 0.985054 / 0.447055 ... Measuring ... N = 16 ... speed = 0 Checkpoint Sweep 145858 ... Probability : 0.985054 / 0.447055 ... Measuring ... N = 16 ... speed = 0 Checkpoint Sweep 145859 ... Probability : 0.985054 / 0.447055 ... Measuring ... N = 16 ... speed = 0 Checkpoint Sweep 145860 ... Probability : 0.985054 / 0.447055 ... Measuring ... N = 16 ... speed = 0 Checkpoint Sweep 145861 ... Probability : 0.985054 / 0.447055 ... Measuring ... N = 16 ... speed = 0
in addition to that thre are “old checkpoint” lines: Checking if Simulation 3 is finished: not yet, next check in 5 seconds ( 0% done).
So my question is: what is the difference between “new checkpoint lines” and “old checkpoint lines”. Does in both cases actual checkpointing take place (meaning writing “current state to disk”)? I suspect that “new checkpoing lines” (the ones above) appear much to often to allow for any significant disk “i/o” (thousands of times per second).
3. is is possible to checkpoint every X secs like in worm core, or at least every X sweeps? I can set “SKIP=100” to get output every 100th iteration, but also to measure every 100 iterations. dwa —help shows : " --checkpoint-time arg (=1800) time between checkpoints” but definitely checkpointing is indicated several times a second, not every 30 minutes.
I run dwa as: mpiexec -np 3 ~/alps22/bin/dwa --mpi --Tmin=5 --Tmax=100 conf.in.xml >out 2>out2
My sample program outputs: Simulation ==========
Sweeps : 100001 Thermalization sweeps : 10000 Skip (Sweeps per measurement) : 500
Best, Mateusz Łącki
comp-phys-alps-users@lists.phys.ethz.ch