Long equilibration
Long equilibration
I noticed that in my DMC calculation there is a problem with eqilibration. For example, a structure made of 13 C atoms and 9 H atoms (all-electron, not periodic), seems to equilibrate after 250 000 steps (with dmc_ave_period set to 100), and the the EBEST is roughly constant. The problem is this "roughly": EBEST constantly grows, and after 11 million steps it does not stabilize. The increase of energy is not huge (about 0.001 hartree in 9 million steps), but it is more or less constant, so I worry that probably the energies are highy correlated (and indeed, the reblock plot does not show a clear plateau).
So I have questions:
- Is such a long equilibration normal, for this size of system?
- If not, what can be the case?
- If not, should I restart the calculation, or rather continue this one?
In fact, I started another calculation for this system, with dmc_init_eref set closer to what I would expect from the above calculation - I thought that maybe it is a result of difference between initial VMC guess and DMC energy - but I am running this on PC, which is slower that the supercomputer I used for the above calculation, so for now I have too little data to compare.
So I have questions:
- Is such a long equilibration normal, for this size of system?
- If not, what can be the case?
- If not, should I restart the calculation, or rather continue this one?
In fact, I started another calculation for this system, with dmc_init_eref set closer to what I would expect from the above calculation - I thought that maybe it is a result of difference between initial VMC guess and DMC energy - but I am running this on PC, which is slower that the supercomputer I used for the above calculation, so for now I have too little data to compare.
-
- Posts: 239
- Joined: Thu May 30, 2013 11:03 pm
- Location: Florence
- Contact:
Re: Long equilibration
NOT ENOUGH DETAIL SUPPLIED.
STANDARD REQUEST FOR MORE INFORMATION:
(1) can we see a copy of your input file?
(2) What happened in the wave function optimization you did prior to the DMC? (Type 'envmc' in the relevant directory, if you still have the files..)
STANDARD REQUEST FOR MORE INFORMATION:
(1) can we see a copy of your input file?
(2) What happened in the wave function optimization you did prior to the DMC? (Type 'envmc' in the relevant directory, if you still have the files..)
Re: Long equilibration
Ok. The input file (this is continuation of previous calculation, but I think I did not change the VMC parameters):
As for envmc results, then firstly, I use CASINO 2.12.1, in which there is ve instead of envmc (probably it does not matter), and secondly, for unknown reasons, from some time it is not working (so for sure it does not matter). It gives an error message:
Probably the admins of the supercomputer messed something up wih some libraries, but fortunately I saw no effect of this on CASINO itself. Currenty, I am extracting the energy and variance information from out file using grep.
So, first I've done a varmin optimization (for sure too many steps, there was another thread at this forum about this calculation). The energies:
and variances:
Then , starting from the result of this optimization, I made emin optimization with fixed cutoffs. Energies:
and variances:
Code: Select all
#-------------------#
# CASINO input file #
#-------------------#
#
# SYSTEM
neu : 44 #*! Number of up electrons (Integer)
ned : 43 #*! Number of down electrons (Integer)
periodic : F #*! Periodic boundary conditions (Boolean)
atom_basis_type : gaussian #*! Basis set type (text)
# RUN
runtype : dmc_stats #*! Type of calculation (Text)
newrun : F #*! New run or continue old (Boolean)
testrun : F #*! Test run flag (Boolean)
# VMC
vmc_equil_nstep : 5000 #*! Number of equilibration steps (Integer)
vmc_nstep : 5000 #*! Number of steps (Integer)
vmc_nblock : 4 #*! Number of checkpoints (Integer)
vmc_nconfig_write : 1000 #*! Number of configs to write (Integer)
complex_wf : F #*! Wave function real or complex (Boolean)
vmc_decorr_period : 12
dtvmc : 0.2 #*! VMC time step (Double Precision)
opt_dtvmc : 1 #*! Optimize VMC timestep (Integer)
# DMC
dmc_equil_nstep : 2000 #*! Number of steps (Integer)
dmc_equil_nblock : 1 #*! Number of checkpoints (Integer)
dmc_stats_nstep : 4800000 #*! Number of steps (Integer)
dmc_stats_nblock : 20000 #*! Number of checkpoints (Integer)
dmc_target_weight : 1000.0 #*! Total target weight in DMC (Real)
dtdmc : 0.003 #*! DMC time step (Real)
use_tmove : F #*! Casula nl pp for DMC (Boolean)
dmc_ave_period : 100
# RMC
# OPTIMIZATION
opt_method : emin #*! Opt method (varmin/madmin/emin/...)
opt_cycles : 20 #*! Number of optimization cycles (Integer)
opt_jastrow : T #*! Optimize Jastrow factor (Boolean)
opt_det_coeff : F #*! Optimize determinant coeffs (Boolean)
opt_backflow : F #*! Optimize backflow parameters (Boolean)
opt_orbitals : F #*! Optimize orbital parameters (Boolean)
# GENERAL PARAMETERS
use_jastrow : T #*! Use a Jastrow function (Boolean)
backflow : F #*! Use backflow corrections (Boolean)
expot : F #*! Use external potential (Boolean)
timing_info : F #*! Activate subroutine timers (Boolean)
esupercell : F #*! Energy/supercell in output (Boolean)
neighprint : 0 #*! Neighbour analysis (Integer)
mpc_cutoff : 30.d0 hartree #*! G vector cutoff for MPC (Physical)
forces : F #*! Evaluate forces on atoms (Boolean)
checkpoint : 1 #*! Checkpoint level (Integer)
cusp_correction : T
# EXPECTATION VALUES
density : F #*! Accumulate density (Boolean)
spin_density : F #*! Accumulate spin densities (Boolean)
pair_corr : F #*! Accumulate rec. space PCF (Boolean)
pair_corr_sph : F #*! Accumulate sph. real space PCF (Boolean)
loc_tensor : F #-------------------#
# CASINO input file #
#-------------------#
#
# SYSTEM
neu : 44 #*! Number of up electrons (Integer)
ned : 43 #*! Number of down electrons (Integer)
periodic : F #*! Periodic boundary conditions (Boolean)
atom_basis_type : gaussian #*! Basis set type (text)
# RUN
runtype : dmc_stats #*! Type of calculation (Text)
newrun : F #*! New run or continue old (Boolean)
testrun : F #*! Test run flag (Boolean)
# VMC
vmc_equil_nstep : 5000 #*! Number of equilibration steps (Integer)
vmc_nstep : 5000 #*! Number of steps (Integer)
vmc_nblock : 4 #*! Number of checkpoints (Integer)
vmc_nconfig_write : 1000 #*! Number of configs to write (Integer)
complex_wf : F #*! Wave function real or complex (Boolean)
vmc_decorr_period : 12
dtvmc : 0.2 #*! VMC time step (Double Precision)
opt_dtvmc : 1 #*! Optimize VMC timestep (Integer)
# DMC
dmc_equil_nstep : 2000 #*! Number of steps (Integer)
dmc_equil_nblock : 1 #*! Number of checkpoints (Integer)
dmc_stats_nstep : 4800000 #*! Number of steps (Integer)
dmc_stats_nblock : 20000 #*! Number of checkpoints (Integer)
dmc_target_weight : 1000.0 #*! Total target weight in DMC (Real)
dtdmc : 0.003 #*! DMC time step (Real)
use_tmove : F #*! Casula nl pp for DMC (Boolean)
dmc_ave_period : 100
# RMC
# OPTIMIZATION
opt_method : emin #*! Opt method (varmin/madmin/emin/...)
opt_cycles : 20 #*! Number of optimization cycles (Integer)
opt_jastrow : T #*! Optimize Jastrow factor (Boolean)
opt_det_coeff : F #*! Optimize determinant coeffs (Boolean)
opt_backflow : F #*! Optimize backflow parameters (Boolean)
opt_orbitals : F #*! Optimize orbital parameters (Boolean)
# GENERAL PARAMETERS
use_jastrow : T #*! Use a Jastrow function (Boolean)
backflow : F #*! Use backflow corrections (Boolean)
expot : F #*! Use external potential (Boolean)
timing_info : F #*! Activate subroutine timers (Boolean)
esupercell : F #*! Energy/supercell in output (Boolean)
neighprint : 0 #*! Neighbour analysis (Integer)
mpc_cutoff : 30.d0 hartree #*! G vector cutoff for MPC (Physical)
forces : F #*! Evaluate forces on atoms (Boolean)
checkpoint : 1 #*! Checkpoint level (Integer)
cusp_correction : T
# EXPECTATION VALUES
density : F #*! Accumulate density (Boolean)
spin_density : F #*! Accumulate spin densities (Boolean)
pair_corr : F #*! Accumulate rec. space PCF (Boolean)
pair_corr_sph : F #*! Accumulate sph. real space PCF (Boolean)
loc_tensor : F #*! Accumulate localization tensor (Boolean)
structure_factor : F #*! Accumulate structure factor (Boolean)
struc_factor_sph : F #*! Accumulate sph. struc. factor (Boolean)
onep_density_mat : F #*! Accumulate 1p density matrix (Boolean)
twop_density_mat : F #*! Accumulate 2p density matrix (Boolean)
cond_fraction : F #*! Accumulate cond fraction (Boolean)
dipole_moment : F #*! Accumulate elec. dipole moment (Boolean)
expval_cutoff : 30.d0 hartree #*! G vector cutoff for expval (Physical)
permit_den_symm : F #*! Symmetrize QMC charge data (Boolean)
qmc_density_mpc : F #*! Use QMC density in MPC int (Boolean)
int_sf : F #*! Calc ee int from strucfac (Boolean)
# BLOCK INPUT #*! Accumulate localization tensor (Boolean)
structure_factor : F #*! Accumulate structure factor (Boolean)
struc_factor_sph : F #*! Accumulate sph. struc. factor (Boolean)
onep_density_mat : F #*! Accumulate 1p density matrix (Boolean)
twop_density_mat : F #*! Accumulate 2p density matrix (Boolean)
cond_fraction : F #*! Accumulate cond fraction (Boolean)
dipole_moment : F #*! Accumulate elec. dipole moment (Boolean)
expval_cutoff : 30.d0 hartree #*! G vector cutoff for expval (Physical)
permit_den_symm : F #*! Symmetrize QMC charge data (Boolean)
qmc_density_mpc : F #*! Use QMC density in MPC int (Boolean)
int_sf : F #*! Calc ee int from strucfac (Boolean)
# BLOCK INPUT
Code: Select all
VE_HELPER won't talk to me.
Make sure it has been compiled.
So, first I've done a varmin optimization (for sure too many steps, there was another thread at this forum about this calculation). The energies:
Code: Select all
Reblocked VMC energy: -497.443340363294 +/- 0.021669888903
Reblocked VMC energy: -498.611337434690 +/- 0.006720871491
Reblocked VMC energy: -498.661715616009 +/- 0.006740749253
Reblocked VMC energy: -498.683133010820 +/- 0.006668801498
Reblocked VMC energy: -498.672281834227 +/- 0.006871107601
Reblocked VMC energy: -498.687301669734 +/- 0.006772659853
Reblocked VMC energy: -498.712178406054 +/- 0.006767306674
Reblocked VMC energy: -498.772039033303 +/- 0.007004559776
Reblocked VMC energy: -498.920410624484 +/- 0.006426364076
Reblocked VMC energy: -499.074948274429 +/- 0.006184571494
Reblocked VMC energy: -499.092706965676 +/- 0.006114903775
Reblocked VMC energy: -499.095027970391 +/- 0.006235205013
Reblocked VMC energy: -499.096174137676 +/- 0.006526250833
Reblocked VMC energy: -499.094292024441 +/- 0.005977820905
Reblocked VMC energy: -499.098768348723 +/- 0.005887444216
Reblocked VMC energy: -499.096151751162 +/- 0.006252892504
Reblocked VMC energy: -499.106064987772 +/- 0.005667820625
Reblocked VMC energy: -499.085003636606 +/- 0.007065636325
Reblocked VMC energy: -499.105479107587 +/- 0.006292356292
Reblocked VMC energy: -499.112943810776 +/- 0.006508024877
Reblocked VMC energy: -499.092562770116 +/- 0.006188454814
Reblocked VMC energy: -499.107812528800 +/- 0.006962635931
Reblocked VMC energy: -499.103708234169 +/- 0.006377897765
Reblocked VMC energy: -499.105923104882 +/- 0.005928848990
Reblocked VMC energy: -499.101723640256 +/- 0.006653499216
Reblocked VMC energy: -499.103417575961 +/- 0.006739689784
Reblocked VMC energy: -499.099905013461 +/- 0.006299024179
Reblocked VMC energy: -499.100604855208 +/- 0.006687245988
Reblocked VMC energy: -499.106684704485 +/- 0.006663446862
Reblocked VMC energy: -499.116319748655 +/- 0.005953637409
Reblocked VMC energy: -499.091252086697 +/- 0.006543709055
Reblocked VMC energy: -499.106027127087 +/- 0.006217619439
Reblocked VMC energy: -499.096524887248 +/- 0.007006668787
Reblocked VMC energy: -499.114337964749 +/- 0.006693856985
Reblocked VMC energy: -499.099283592137 +/- 0.006632287375
Reblocked VMC energy: -499.105100139776 +/- 0.005924335528
Reblocked VMC energy: -499.106645810142 +/- 0.006526510003
Reblocked VMC energy: -499.100980176818 +/- 0.006068443575
Reblocked VMC energy: -499.099845379597 +/- 0.006330173260
Reblocked VMC energy: -499.109245544670 +/- 0.006544326800
Reblocked VMC energy: -499.119022925923 +/- 0.006347452277
Code: Select all
Variance of local energy (au/sim.cell) : 112.498412695036 +- 2.723008168482
Variance of local energy (au/sim.cell) : 16.931590321482 +- 0.046250281607
Variance of local energy (au/sim.cell) : 16.704593695810 +- 0.038284248150
Variance of local energy (au/sim.cell) : 16.043822348362 +- 0.062171693034
Variance of local energy (au/sim.cell) : 15.635422491374 +- 0.029289359527
Variance of local energy (au/sim.cell) : 15.445704152638 +- 0.033239334833
Variance of local energy (au/sim.cell) : 15.494576430558 +- 0.074475992426
Variance of local energy (au/sim.cell) : 15.366314973559 +- 0.072365994893
Variance of local energy (au/sim.cell) : 15.608997674411 +- 0.060106951286
Variance of local energy (au/sim.cell) : 15.012656086767 +- 0.219274344166
Variance of local energy (au/sim.cell) : 15.030167408844 +- 0.088262890720
Variance of local energy (au/sim.cell) : 14.775276805864 +- 0.043651637971
Variance of local energy (au/sim.cell) : 14.850242407161 +- 0.099172077064
Variance of local energy (au/sim.cell) : 14.804920894396 +- 0.033721103315
Variance of local energy (au/sim.cell) : 14.843828484005 +- 0.059800222480
Variance of local energy (au/sim.cell) : 14.960920278606 +- 0.064722614964
Variance of local energy (au/sim.cell) : 14.830216702779 +- 0.084829685555
Variance of local energy (au/sim.cell) : 14.895631423220 +- 0.069425673566
Variance of local energy (au/sim.cell) : 14.909753695275 +- 0.035038117948
Variance of local energy (au/sim.cell) : 14.824074014812 +- 0.052683121390
Variance of local energy (au/sim.cell) : 14.805541603598 +- 0.053915255309
Variance of local energy (au/sim.cell) : 14.785522605020 +- 0.046342243911
Variance of local energy (au/sim.cell) : 14.969361932702 +- 0.097011859332
Variance of local energy (au/sim.cell) : 14.921671152956 +- 0.039463931827
Variance of local energy (au/sim.cell) : 14.890740781853 +- 0.127223288613
Variance of local energy (au/sim.cell) : 14.777187964990 +- 0.018095300115
Variance of local energy (au/sim.cell) : 14.989826757893 +- 0.173917171017
Variance of local energy (au/sim.cell) : 14.852959235073 +- 0.086729733807
Variance of local energy (au/sim.cell) : 14.966094084144 +- 0.041850697344
Variance of local energy (au/sim.cell) : 14.959856972473 +- 0.075964270328
Variance of local energy (au/sim.cell) : 14.885165984571 +- 0.075828381287
Variance of local energy (au/sim.cell) : 14.849093197207 +- 0.066433063636
Variance of local energy (au/sim.cell) : 14.890851530360 +- 0.065482768245
Variance of local energy (au/sim.cell) : 14.810622638373 +- 0.042150017358
Variance of local energy (au/sim.cell) : 15.053621164806 +- 0.096818431494
Variance of local energy (au/sim.cell) : 14.860197834714 +- 0.052238920336
Variance of local energy (au/sim.cell) : 14.911523381272 +- 0.068895221680
Variance of local energy (au/sim.cell) : 14.853457871896 +- 0.071824357506
Variance of local energy (au/sim.cell) : 14.848235319468 +- 0.065023861280
Variance of local energy (au/sim.cell) : 14.764888333895 +- 0.072938160770
Variance of local energy (au/sim.cell) : 14.874679125418 +- 0.039276327981
Code: Select all
Reblocked VMC energy: -499.092562770116 +/- 0.006188454799
Reblocked VMC energy: -499.547782626469 +/- 0.007394163960
Reblocked VMC energy: -499.541097678237 +/- 0.007577387722
Reblocked VMC energy: -499.553242839559 +/- 0.008278434842
Reblocked VMC energy: -499.533082745455 +/- 0.007975655797
Reblocked VMC energy: -499.547629872998 +/- 0.007101879214
Reblocked VMC energy: -499.527320957213 +/- 0.007289088161
Reblocked VMC energy: -499.539961744694 +/- 0.007617292957
Reblocked VMC energy: -499.549820937656 +/- 0.008046015719
Reblocked VMC energy: -499.549169991950 +/- 0.007479595519
Reblocked VMC energy: -499.555059491981 +/- 0.007737537866
Reblocked VMC energy: -499.550016205950 +/- 0.006455662951
Reblocked VMC energy: -499.533188744469 +/- 0.008466920782
Reblocked VMC energy: -499.530357355931 +/- 0.008013411873
Reblocked VMC energy: -499.533448937568 +/- 0.007920977914
Reblocked VMC energy: -499.554884074010 +/- 0.006908437457
Reblocked VMC energy: -499.548661354811 +/- 0.007476937682
Reblocked VMC energy: -499.538531032896 +/- 0.007353838171
Reblocked VMC energy: -499.535850682572 +/- 0.007075156055
Reblocked VMC energy: -499.544985396643 +/- 0.007869686133
Reblocked VMC energy: -499.543053028984 +/- 0.007921228144
Code: Select all
Variance of local energy (au/sim.cell) : 14.805541603600 +- 0.053915255310
Variance of local energy (au/sim.cell) : 20.425634421786 +- 0.106281340765
Variance of local energy (au/sim.cell) : 20.475887598262 +- 0.025270919848
Variance of local energy (au/sim.cell) : 20.738478337608 +- 0.191403639936
Variance of local energy (au/sim.cell) : 20.561688738776 +- 0.089374976879
Variance of local energy (au/sim.cell) : 20.601656172366 +- 0.067849645292
Variance of local energy (au/sim.cell) : 20.686831442970 +- 0.129137806910
Variance of local energy (au/sim.cell) : 20.604350461681 +- 0.082751823424
Variance of local energy (au/sim.cell) : 20.557535604115 +- 0.038623606090
Variance of local energy (au/sim.cell) : 20.506104371540 +- 0.015203513227
Variance of local energy (au/sim.cell) : 20.535489203466 +- 0.102533330903
Variance of local energy (au/sim.cell) : 20.628308124008 +- 0.070480645500
Variance of local energy (au/sim.cell) : 20.519617183296 +- 0.097995903916
Variance of local energy (au/sim.cell) : 20.580129486213 +- 0.087407007234
Variance of local energy (au/sim.cell) : 20.745775098387 +- 0.056759966828
Variance of local energy (au/sim.cell) : 20.496847837200 +- 0.037505950453
Variance of local energy (au/sim.cell) : 20.637767065057 +- 0.065096990561
Variance of local energy (au/sim.cell) : 20.581644450729 +- 0.060976031027
Variance of local energy (au/sim.cell) : 20.537069678279 +- 0.058430730487
Variance of local energy (au/sim.cell) : 20.732698808798 +- 0.077840113850
Variance of local energy (au/sim.cell) : 20.985329991897 +- 0.222100519606
-
- Posts: 239
- Joined: Thu May 30, 2013 11:03 pm
- Location: Florence
- Contact:
Re: Long equilibration
OK, 2.12.1 - as I said, this is getting a little old now. If you can upgrade to the current_beta, I would do so since then we don't end up fixing things that we've already fixed...
The ve --> envmc thing happened in :
I did that largely because people kept telling me that ve didn't work for DMC calculations (even though it isn't meant to; 'envmc' makes that more clear). So envmc and ve are in fact the same program - no problem here. Just use ve if you're using 2.12.1. Either ve or envmc will do in 2.13.xx
When you say 'Probably the admins of the supercomputer messed something up wih some libraries' does that mean this is a centrally-installed version of CASINO that the admins have done, or is this your own personal copy of CASINO set up by you? (the latter is what we very much recommend..)
The error message means that the ve script can't find the helper Fortran programme that it requires, i.e. your Fortran utilities have not been set up properly. More specifically, it can mean either:
(1) ve_helper is not in your path for some reason. Type 'which ve_helper' on the command line: what output does it give?
(2) You are on a machine that requires a cross-compiler i.e. the main compute nodes on which CASINO itself runs are of a different architecture to the login nodes on which you run Fortran utilities (the two types of program thus require a different compiler, or possibly just different compiler flags).
It's perfectly possible for the CASINO arch system to handle cross compilers - it just requires someone who knows what they're doing to set it up (the 'automatic arch file designer' inside the install script is aware of this and will ask you about cross compilers). As an example, take a look at :
CASINO/arch/data/linuxpc-gcc-pbs-parallel.titan.arch
All that stuff at the bottom defining environment variables with a '_NATIVE' suffix: that's the stuff that handles the Fortran utilities.
Thus :
FFLAGS_opt = -O3
FFLAGS_opt_NATIVE = $(FFLAGS_opt) -target=native
says that the Fortran compiler should use a flag '-O3' to turn on optimization for both the CASINO executable and the Fortran utilities, but when compiling utilities it should additionally use '-target=native' which means 'Please compile this program for use on the login nodes rather than the compute nodes'.
So to summarize:
(1) is ve_helper in your path?
(2) does your machine use a cross-compiler?
(3) what supercomputer is this and who set it up? If it's something specialized you might like to send me the arch files you're using for permanent inclusion in the CASINO distribution (which is a very good idea in general).
Mike
OK - let me focus on one problem at a time (my brain is too small to do otherwise).As for envmc results, then firstly, I use CASINO 2.12.1, in which there is ve instead of envmc (probably it does not matter), and secondly, for unknown reasons, from some time it is not working (so for sure it does not matter). It gives an error message:
VE_HELPER won't talk to me.
Make sure it has been compiled.
Probably the admins of the supercomputer messed something up wih some libraries, but fortunately I saw no effect of this on CASINO itself. Currenty, I am extracting the energy and variance information from out file using grep.
The ve --> envmc thing happened in :
Code: Select all
---[v2.13.109]---
* Changed name of 've' utility to 'envmc' to make it clearer what it actually
does (along with vevp --> envmcvp in the virtual parallel case). All
documentation changed to reflect this. I have retained 've' and 'vevp' as
symlinks to the renamed utilities for people who don't know that I did this.
-- Mike Towler, 2013-09-13
When you say 'Probably the admins of the supercomputer messed something up wih some libraries' does that mean this is a centrally-installed version of CASINO that the admins have done, or is this your own personal copy of CASINO set up by you? (the latter is what we very much recommend..)
The error message means that the ve script can't find the helper Fortran programme that it requires, i.e. your Fortran utilities have not been set up properly. More specifically, it can mean either:
(1) ve_helper is not in your path for some reason. Type 'which ve_helper' on the command line: what output does it give?
(2) You are on a machine that requires a cross-compiler i.e. the main compute nodes on which CASINO itself runs are of a different architecture to the login nodes on which you run Fortran utilities (the two types of program thus require a different compiler, or possibly just different compiler flags).
It's perfectly possible for the CASINO arch system to handle cross compilers - it just requires someone who knows what they're doing to set it up (the 'automatic arch file designer' inside the install script is aware of this and will ask you about cross compilers). As an example, take a look at :
CASINO/arch/data/linuxpc-gcc-pbs-parallel.titan.arch
All that stuff at the bottom defining environment variables with a '_NATIVE' suffix: that's the stuff that handles the Fortran utilities.
Thus :
FFLAGS_opt = -O3
FFLAGS_opt_NATIVE = $(FFLAGS_opt) -target=native
says that the Fortran compiler should use a flag '-O3' to turn on optimization for both the CASINO executable and the Fortran utilities, but when compiling utilities it should additionally use '-target=native' which means 'Please compile this program for use on the login nodes rather than the compute nodes'.
So to summarize:
(1) is ve_helper in your path?
(2) does your machine use a cross-compiler?
(3) what supercomputer is this and who set it up? If it's something specialized you might like to send me the arch files you're using for permanent inclusion in the CASINO distribution (which is a very good idea in general).
Mike
Re: Long equilibration
The output of which ve_helper is ~/casino/bin_qmc/ve_helper, so it probably is where it should be.
As for cross-compliers, the problem is that it was not me who installed CASINO there, so I don't know, but I'll try to get to know this. The CASINO_ARCH is set to linuxpc-gcc-pbs-parallel, so a generic arch. But maybe that is the problem.
For the installation - it is to use only by us (meaning me and Paweł, who also is a registered user of CASINO), no other users of the supercomputer have the access to this copy.
The supercomputer is the Supernova cluster at Wroclaw Centre for Networking and Supercomputing (WCNS or WCSS in Polish). As I said, now it uses a generic arch file, but if a more appropriate arch file is needed, i will send it to you as soon as we set it up.
As for cross-compliers, the problem is that it was not me who installed CASINO there, so I don't know, but I'll try to get to know this. The CASINO_ARCH is set to linuxpc-gcc-pbs-parallel, so a generic arch. But maybe that is the problem.
For the installation - it is to use only by us (meaning me and Paweł, who also is a registered user of CASINO), no other users of the supercomputer have the access to this copy.
The supercomputer is the Supernova cluster at Wroclaw Centre for Networking and Supercomputing (WCNS or WCSS in Polish). As I said, now it uses a generic arch file, but if a more appropriate arch file is needed, i will send it to you as soon as we set it up.
-
- Posts: 239
- Joined: Thu May 30, 2013 11:03 pm
- Location: Florence
- Contact:
Re: Long equilibration
OK, so the person who set CASINO up on the machine (not you, then) clearly didn't do it properly. This is the problem with centralized installations. In my experience people who run Computer Centres think a software program should be a single executable, and they get very angry when it comes with loads of analysis tools as well.. which they often refuse to let people have access to.
To answer my own question - looking at the web page - your machine does have separate compute and login nodes, and it's run by controlling people who really don't like people running their own software on it, see e.g. Regulation 23:
'Zadania obliczeniowe należy uruchamiać używając systemów kolejkowania działających na serwerach KDM, których funkcjonalność pozwala optymalnie zarządzać zasobami komputerów. Zadania uruchomione poza kolejkami mogą zostać usunięte bez ostrzeżenia. Jeżeli użytkownik potrzebuje wykonać zadanie wymagające interakcji podczas działania należy skorzystać z zadania interaktywnego.'
So OK, look, make a little Fortran program - call it test.f90:
PROGRAM test
write(6,*)'Hello - I am the 2013 QMC Summer School Champion and I [pause for effect] am a GENIUS!'
END PROGRAM test
Then type 'gfortran -o test test.f90' (the machine uses modules, so you might have to do something like 'module load PrgEnv-gnu' or whatever first. See the documentation).
The type './test'. Does it print out the statement praising you above? (according to Regulation 23 you're supposed to submit this to the batch queue system' but surely..
If you can get a Fortran program to work on the login node, then try installing your own version of CASINO. Download the current_beta from the website, unpack it in your home directory, cd ~/CASINO, ./install. Choose the [n] option: 'Create a new CASINO_ARCH for this machine interactively' then answer the questions it asks you - very carefully (differentiating between the cross compiler and the login nodes compiler, if that's possible). Let me know how you get on.
To answer my own question - looking at the web page - your machine does have separate compute and login nodes, and it's run by controlling people who really don't like people running their own software on it, see e.g. Regulation 23:
'Zadania obliczeniowe należy uruchamiać używając systemów kolejkowania działających na serwerach KDM, których funkcjonalność pozwala optymalnie zarządzać zasobami komputerów. Zadania uruchomione poza kolejkami mogą zostać usunięte bez ostrzeżenia. Jeżeli użytkownik potrzebuje wykonać zadanie wymagające interakcji podczas działania należy skorzystać z zadania interaktywnego.'
So OK, look, make a little Fortran program - call it test.f90:
PROGRAM test
write(6,*)'Hello - I am the 2013 QMC Summer School Champion and I [pause for effect] am a GENIUS!'
END PROGRAM test
Then type 'gfortran -o test test.f90' (the machine uses modules, so you might have to do something like 'module load PrgEnv-gnu' or whatever first. See the documentation).
The type './test'. Does it print out the statement praising you above? (according to Regulation 23 you're supposed to submit this to the batch queue system' but surely..

If you can get a Fortran program to work on the login node, then try installing your own version of CASINO. Download the current_beta from the website, unpack it in your home directory, cd ~/CASINO, ./install. Choose the [n] option: 'Create a new CASINO_ARCH for this machine interactively' then answer the questions it asks you - very carefully (differentiating between the cross compiler and the login nodes compiler, if that's possible). Let me know how you get on.
-
- Posts: 239
- Joined: Thu May 30, 2013 11:03 pm
- Location: Florence
- Contact:
Re: Long equilibration
And as for you main question,: no, your DMC equilibration should not take 250000 steps - usually no more than a few thousand are required if your Jastrow is reasonable. Sounds like something's gone wrong somewhere - I don't immediately understand the thing about EBEST rising either. Can you post - or put on the web somewhere - the output of graphdmc (which may still have been called graphit in the version of the code that you're using..).
Not surprising there's no plateau. You're running with dmc_ave_period=100, which means that 100 consecutive DMC energies are averaged together before being written to the dmc.hist file. The only purpose of this is to reduce the size of the dmc.hist file, which is not normally a serious consideration. What it will do is to remove almost all serial correlation from the numbers - so that you expect it to be pretty close to the plateau from the start. If you want to do a proper analysis of serial correlation, you should set dmc_ave_period to 1 (which is more usual).so I worry that probably the energies are highy correlated (and indeed, the reblock plot does not show a clear plateau).
Re: Long equilibration
Ok. As for equilibration, this is a plot for the whole calculation:
http://www.mediafire.com/view/oixdyfhc8 ... equil1.png
(as you probably notice, I'm using gnuplot, but this is just because there was no Grace at Supernova)
Close-up of the beginning:
http://www.mediafire.com/view/5q167c1c1 ... equil2.png
And now about subject of my question. Here is a close-up of the whole calculation, so that you see the variation in the region where EBEST is nearly constant:
http://www.mediafire.com/view/858aa3xll ... equil3.png
I am talking about the behaviour of EBEST between 2 million, and, say, 11 million steps. The calculation continued, and, I can see that at the end it stopped growing - but still I wonder whether this growth is something to worry about, or not.
And as for reblocking - here is a reblock plot with 10 000 equilibration steps. As you said, this should be more than enough. Something like plateau is forming, but I am not sure yet. But clearly it does not look like I was already on a plateau.
http://www.mediafire.com/view/zk1dygqrs ... block3.png
http://www.mediafire.com/view/oixdyfhc8 ... equil1.png
(as you probably notice, I'm using gnuplot, but this is just because there was no Grace at Supernova)
Close-up of the beginning:
http://www.mediafire.com/view/5q167c1c1 ... equil2.png
And now about subject of my question. Here is a close-up of the whole calculation, so that you see the variation in the region where EBEST is nearly constant:
http://www.mediafire.com/view/858aa3xll ... equil3.png
I am talking about the behaviour of EBEST between 2 million, and, say, 11 million steps. The calculation continued, and, I can see that at the end it stopped growing - but still I wonder whether this growth is something to worry about, or not.
And as for reblocking - here is a reblock plot with 10 000 equilibration steps. As you said, this should be more than enough. Something like plateau is forming, but I am not sure yet. But clearly it does not look like I was already on a plateau.
http://www.mediafire.com/view/zk1dygqrs ... block3.png
-
- Posts: 239
- Joined: Thu May 30, 2013 11:03 pm
- Location: Florence
- Contact:
Re: Long equilibration
Hi Blazej,
Thanks for posting the pictures..
I don't see this is anything to worry about. In the region you say you're concerned with between 2 and 11 million steps we see a variation in EBEST of something like 0.00075 au. According to your reblock plot, the final error bar after 11 million moves is something like 0.0003 au (about half the EBEST variation). The standard error after 2 million moves will be considerably greater than that, so all this is well within statistical error. Or am I missing something?
To see how the error bar varies with the number of moves, use the reblock utility to analyze the dmc.hist file using different starting points. You should be able to plot a graph of the convergence of the error bar.
Other remarks:
Did you get anywhere with the possible cross-compiler issue? (i.e. making the Fortran utilities work?)
Cheers,
Mike
Thanks for posting the pictures..
I don't see this is anything to worry about. In the region you say you're concerned with between 2 and 11 million steps we see a variation in EBEST of something like 0.00075 au. According to your reblock plot, the final error bar after 11 million moves is something like 0.0003 au (about half the EBEST variation). The standard error after 2 million moves will be considerably greater than that, so all this is well within statistical error. Or am I missing something?
To see how the error bar varies with the number of moves, use the reblock utility to analyze the dmc.hist file using different starting points. You should be able to plot a graph of the convergence of the error bar.
Other remarks:
The CASINO utilities which require a plotting program (graphdmc, reblock_plot..) have all been upgraded in the current_beta version, so that if they can't find xmgrace they will automatically look for and use gnuplot as an alternative. Missing xmgrace should therefore no longer be a problem.(as you probably notice, I'm using gnuplot, but this is just because there was no Grace at Supernova)
It is a plateau, and it looks fine to me (it is of course expected that the error bars increase to the right of the graph). As I said before, if you want to do a proper analysis of serial correlation you should run with dmc_ave_period = 1. Use good long DMC blocks so that it doesn't keep interrupting the calc to write the dmc.hist file to disk (type 'casinohelp dmc_stats_nblock' to see what happens at the end of a block).Something like plateau is forming, but I am not sure yet.
Did you get anywhere with the possible cross-compiler issue? (i.e. making the Fortran utilities work?)
Cheers,
Mike
Re: Long equilibration
Surely this growth is really small and what I wonder about is not the size, but rather the fact that it is persistent. I mean, it looks like there is a kind of trend, like I could fit to it a straight line (of nonzero slope of course). And if there is a trend, there is a correlation (or at least I suspect there is). I would rather expect that uncorrelated energy would grow-decrease-grow-decrease and so on, and this variation would be around a constant value. I don't know if I am explaining this clearly.Mike Towler wrote:I don't see this is anything to worry about. In the region you say you're concerned with between 2 and 11 million steps we see a variation in EBEST of something like 0.00075 au. According to your reblock plot, the final error bar after 11 million moves is something like 0.0003 au (about half the EBEST variation). The standard error after 2 million moves will be considerably greater than that, so all this is well within statistical error. Or am I missing something?
This is a problem for me: to define whether there is a clear plateau or not. I would be sure only when there is a really flat part. The definition "by eye" is not always clear. (in one of Your articles there was an objective criterion on the reblocked error, which you use in the automatic analysis in CASINO, so I should probably use this).Mike Towler wrote:It is a plateau, and it looks fine to me (it is of course expected that the error bars increase to the right of the graph
I checked Your hello world program, it works. I also tried to go through the information on the computer's website, but it doesn't seem very informative. Probably I have to contact the administrators.Mike Towler wrote:Did you get anywhere with the possible cross-compiler issue? (i.e. making the Fortran utilities work?)
btw, when I ran auto-detect of arch files, it detects linuxpc-gcc-pbs-parallel as a valid arch. I compiled CASINO for it, but the same problem with envmc appears ("vmc helper won't talk to me"). Suprisingly, at first it didn't compile, then I tried to make my own arch, which also did not compile (not surprising, without access to the documentation). And then I tried compilation of linuxpc-gcc-pbs-parallel just to copy the final error message here, and it worked. Maybe because i didn't run the [r] option before compilation.