Skip to content

Benchmarks

Anthony Scemama edited this page Apr 8, 2022 · 1 revision

Performance tests for QMCkl.

Installation

  1. Download and install QMCkl
  2. Download and install qmckl_bench from https://github.com/scemama/qmckl_bench
  3. Compile the current tests and run
./autogen.sh
./configure
make
./bench_jastrow

Results

CPU

Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz, 4cores

GNU options for QMCkl

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

Intel options for QMCkl

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

# -xHost -ip -Ofast -ftz -finline -g -mkl=sequential -fopenmp

Clang options for QMCkl

./configure \
    CC=clang \
    CFLAGS="-Ofast -g -march=native" \
    FC=flang  \
    FCFLAGS="-Ofast -g -march=native" \
    --enable-hpc --with-openmp --enable-static

Measures

HPC Compiler bench_aos (ms) bench_aos OpenMP (ms) bench_mos (ms) bench_mos OpenMP (ms)
No GCC-8 112.7 113.1 2036.1 2038.7
Yes GCC-8 68.0 24.8 896.2 250.3
Yes Intel-2021.5 60.5 24.1 890.0 231.6

Memo

Run MAQAO with

maqao oneview --create-report=three --output-format=html --force-all-loops --external-libraries={\"libqmckl.so.0\"} ./bench_aos