qmcPlusPlus package

What is qmcPlusPlus?

Package to perform Quantum Monte Carlo simulations.

Getting qmcPlusPlus

[Note] Note

Do not commit any change until you become one of the "trusted authors".

Remote access to cvs repository

  • Send public key generated by ssh-keygen to jnkim

    ssh-keygen -t rsa

    Check the man page for other options

  • Check out the package

    cvs -d qmc@mcc1.mcc.uiuc.edu:/usr/local/CVS co qmcPlusPlus/v0.2

  • Check out the sample files

    cvs -d qmc@mcc1.mcc.uiuc.edu:/usr/local/CVS co qmcPlusPlus/v0.2-samples

How-to

Require cmake to compile qmcPlusPlus package.

Set environment variables for compilers and external libraries. You may have to install the libraries. They normally do not require root permission. cmake will try to figure out where the libraries are located but it is best if the users set their environments.

Build-compilation will fail if required libraries are not found. Recommended libraries are based on their performance advantages. There are some "cmake troubles" which are mainly due to the developers' inexperience but the fixes are usually very simple. Check here to find out if your problem has been encountered.

  • unpack the tar-gziped file:

    tar -zxvf qmcPlusPlus-vx.y-YYYYMMDD.tgz

  • change to the top directory (name can be different):

    cd qmcPlusPlus-vx.y-YYYYMMDD

  • Set compiler-related environment variables. Without these environment settings, cmake will use the default GNU compilers.

    CXX
    c++ compiler
    CC
    C compiler
  • External libraries: Required, Recommended and optional

    HDF5_HOME

    Required Home directory for hdf5 library. $HDF5_HOME/include and $HDF5_HOME/lib are added to the paths.

    GSL_HOME

    Required Home directory for Gnu Scientific library. $GSL_HOME/include and $GSL_HOME/lib are added to the paths.

    MKL_HOME

    Recommended Home directory for Intel MKL library. The libraries are located at $MKL_HOME/lib/32 or $MKL_HOME/lib/64

    There is no constraint on which lapack/blas can be used but on linux platforms, MKL is recommended.

    BOOST_HOME

    Recommended Home directory for boost library. When BOOST_HOME is set, the random number library uses boost::random. Download at www.boost.org. BOOST_HOME should be the top directory of boost library when it is unpacked. No need to compile anything.

    BLITZ_HOME

    Optional Home directory for blitz library. blitz WAS required but is now optional. We are moving to boost library.

    SPRNG_HOME

    Optional Home directory for sprng random-number-generator library. This is only necessary if boost cannot be used.

  • Find the line with COMPILER in CMakeLists.txt. Uncomment the line for the compiler of your choice. The lines starting with # are comments. The default is GNU compiler as shown below.


    #COMPILER choose one of the cmake files to customize the compiler options
    #If nothing is chosen, default settings by cmake will  be used.
    #INCLUDE(${PROJECT_CMAKE}/Intel8.cmake)
    #INCLUDE(${PROJECT_CMAKE}/Intel7.cmake)
    INCLUDE(${PROJECT_CMAKE}/GNUCompilers.cmake)
    #INCLUDE(${PROJECT_CMAKE}/IBMCompilers.cmake)

  • If everything goes well, then you should see topdir/build/bin/qmcapp.

    • Create a directory to build the library and binaries, e.g., build:

      mkdir build

    • Change to the build directory:

      cd build

    • run cmake to create Makefiles:

      cmake ..

    • make everything:

      make