Skip to content
Ye Luo edited this page Aug 4, 2017 · 28 revisions

Welcome to the miniQMC wiki!

How-To Guides

Prerequisites

  • C/C++ compilers with C++11 support
  • BLAS/LAPACK, numerical library, use platform-optimized libraries

Build miniQMC

Building miniapps at the moment requires CMake which will be replace with Makefile upon release.

cd build
cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx ..
make -j 8

Mixed precision can be accessed through -DQMC_MIXED_PRECISION=1

Check builds

Executables are created in ./bin folder. There are a few of them

check_distancetables # checks distance table computation including
                     # e-e and e-I distances and displacements
check_wfc            # checks wave function components including
                     # determinant and Jastrow factors.
check_spo            # checks single particle orbitals including 3D-cubic splines.
miniqmc              # runs a fake DMC and report the time spent in each component.

It is recommended to run all the check_XXX routines. They report either "All checking pass!" or a failure message indicating where the failure is.

Run executables

all the executables can run without any arguments and input files, namely default setting. If more controls is needed, query by -h option to print out available options.

Benchmark

This is an example how miniqmc reports. The default setting is a fake DMC run mimicing the NiO 32 atom cell simulation.

================================== 
Stack timer profile
Timer                           Inclusive_time  Exclusive_time  Calls   Time_per_call
Total                              1.6640     0.0131              1       1.663990021
  Diffusion                        1.0446     0.0158            100       0.010445936
    Current Gradient               0.0054     0.0036          38400       0.000000140
      Jastrow                      0.0017     0.0017          38400       0.000000045
    Distance Tables                0.3296     0.3296          95899       0.000003437
    New Gradient                   0.6151     0.0069          38395       0.000016021
      Jastrow                      0.0973     0.0973          38395       0.000002534
      Single-Particle Orbitals     0.5110     0.5110          38395       0.000013308
    Update                         0.0785     0.0785          18999       0.000004133
    Wavefuntion GL                 0.0002     0.0002            100       0.000002389
  Pseudopotential                  0.6063     0.0098            100       0.006063325
    Distance Tables                0.2907     0.2907          74484       0.000003902
    Value                          0.3059     0.0116          74484       0.000004107
      Jastrow                      0.1221     0.1221          74484       0.000001640
      Single-Particle Orbitals     0.1722     0.1722          74484       0.000002312
Clone this wiki locally