Go to file
q-posev 8b7b56b57b Fix broken build
Recent HPC-related additions break the current build (make) process. This is because the HPC-related functions are not wrapped in the preprocessor ifdef statement.
2022-02-28 22:28:11 +01:00
.github/workflows Fix fortran strings in trexio interface 2022-02-18 01:24:37 +01:00
include Added new test 2021-10-13 10:10:09 +02:00
m4 Added configure scripts 2021-05-07 12:47:56 +02:00
man Add doc in dist, and text doc 2021-04-21 12:44:03 +02:00
org Fix broken build 2022-02-28 22:28:11 +01:00
pkgconfig Clean configure 2021-06-03 01:32:50 +02:00
share Test QMCkl with the latest TREXIO + MacOS CI (#58) 2022-02-01 14:21:29 +01:00
src Cleaning 2021-05-12 02:20:39 +02:00
to_be_processed Added a to_be_processes directory 2020-10-31 19:01:26 +01:00
tools Out of source build 2022-02-17 23:40:44 +01:00
.gitignore Add the qmckl_probes interface (#2) 2021-07-23 12:01:14 +02:00
AUTHORS Automake working 2021-05-10 23:56:26 +02:00
COPYING Working on automake 2021-05-11 11:45:49 +02:00
ChangeLog Automake working 2021-05-10 23:56:26 +02:00
INSTALL Automake working 2021-05-10 23:56:26 +02:00
LICENSE Initial commit 2020-10-13 15:08:11 +02:00
Makefile.am Small fix in Makefile 2022-02-18 01:54:41 +01:00
NEWS Automake working 2021-05-10 23:56:26 +02:00
README Working on automake 2021-05-11 11:45:49 +02:00
README.md Rewrote AOs HPC in C 2022-02-16 00:21:37 +01:00
autogen.sh Fix TREXIO installation in the Verificarlo workflow (#55) 2021-12-14 10:43:36 +01:00
configure.ac Compiling options with gcc 2022-02-25 16:39:44 +01:00
vfc_tests_config.json Fixed #48 2021-10-14 21:40:14 +02:00

README.md

QMCkl: Quantum Monte Carlo Kernel Library

Build Status

The domain of quantum chemistry needs a library in which the main kernels of Quantum Monte Carlo (QMC) methods are implemented. In the library proposed in this project, we expose the main algorithms in a simple language and provide a standard API and tests to enable the development of high-performance QMCkl implementations taking advantage of modern hardware.

See the source code to read the documentation.

To clone the repository, use:

git clone https://github.com/TREX-CoE/qmckl.git

Installation

The simplest way to obtain the source files of QMCkl is to download a source distribution. This particular repository is for maintainers, who write the kernels in org-mode files and produce the source code and the documentation from these files.

For maintainers

./autogen.sh
./configure --prefix=$PWD/_install

make
make check

For users

Obtain a source distribution.

To build the documentation version:

./configure

To build an optimized version with Intel compilers:

./configure \
   --with-icc \
   --with-ifort \
   --enable-hpc \
   --with-openmp

To build an optimized version with GCC:

./configure \
  CC=gcc \
  CFLAGS="-g -O2 -march=native  -flto -fno-trapping-math -fno-math-errno -ftree-vectorize" \
  FC=gfortran \
  FCFLAGS="-g -O2 -march=native  -flto -ftree-vectorize" \
  --enable-hpc \
  --with-openmp

Then, compile with:

make -j
make -j check
sudo make install
sudo make installcheck

Verificarlo CI

Since Verificarlo should not be a dependency of QMCkl, all Verificarlo functions are called only when the support is explicitely enabled (and ignored by the preprocessor otherwise). To enable vfc_ci support, the library should be configured with the following command :

./configure \
  CC="verificarlo-f" \
  FC="verificarlo-f" \
  --prefix=$PWD/_install \
  --enable-vfc_ci \
  --host=x86_64 \

where CC and FC are set to verificarlo-f, and support is explicitely enabled with the enable-vfc_ci flag. Configuring the library with the “standard” command will cause all calls to Verificarlo related functions to be ignored, and the library will be built as usual.


European flag TREX: Targeting Real Chemical Accuracy at the Exascale project has received funding from the European Unions Horizon 2020 - Research and Innovation program - under grant agreement no. 952165. The content of this document does not represent the opinion of the European Union, and the European Union is not responsible for any use that might be made of such content.