qmcpack/tests/performance/C-graphite
Paul Kent 10074dc323 Set driver_version in inputs 2025-01-08 13:53:45 -05:00
..
DFT-inputs Graphite QE files 2021-08-04 21:19:23 -04:00
sample Set driver_version in inputs 2025-01-08 13:53:45 -05:00
C.BFD.xml Rename graphte perf test from C to C-graphite 2017-09-20 16:38:03 -05:00
CMakeLists.txt Enable exclusive GPU for ENABLE_SYCL. 2024-06-13 22:21:30 -05:00
README Expand C-graphite test walker counts with different cell sizes 2022-07-14 15:21:32 -05:00

README

Carbon Graphite QMC Performance Benchmark

1. Introduction

This benchmark is the "graphite 4x4x1" 256 electron system previously
used for the CORAL procurement and related benchmarking efforts. Many
details of the runs (steps, blocks, timestep, nodes) have been changed
to keep the benchmark short and to only use 1 node. i.e. It is not
"the" CORAL benchmark. Additionally, the jastrow distance cutoff has
also been made legal (6.338 vs 6.4), which will permit current
versions of QMCPACK to run.

See the explanation, discussion, and disclaimer in ../NiO/README for
general guidelines. Note that for benchmarking of QMCPACK's
performance for solid-state materials, the QMCPACK developers
currently prefer the newer NiO benchmarks because they cover a range
of system sizes. If you are interested in setting up a new benchmark
or figure of merit, we encourage you to contact the developers.

The ctest integration is sufficient to run the benchmarks and measure
relative performance from version to version of QMCPACK and assess
proposed code changes. To obtain highest performance on a particular
platform, you must run the benchmarks in a standalone manner and tune
thread counts, placement, walker count (etc.)

2. Simulated system and QMC methods tests

Simulated systems are 1x1x1, 2x2x1, 3x3x1, and 4x4x1 repeat of
a graphite primitive cell. These are labeled with a number indicating
the total electron count, 256, 144, 64, and 16, respectively.

Name  Atoms Electrons  Electrons per spin
S256   64    256          128
S144   36    144           72
S64    16     64           32
S16     4     16            8

Runs consist of a number of short blocks of (i) VMC without drift (ii)
VMC with drift term included (iii) DMC with constant population.

3. Requirements

Download the necessary C-graphite h5 orbital file from the following link

https://anl.box.com/s/yxz1ic4kxtdtgpva5hcmlom9ixfl3v3c

Or directly download the file in the command line via

curl -L -O -J https://m.box.com/file/224522610118/download?shared_link=https%3A%2F%2Fanl.box.com%2Fs%2Fyxz1ic4kxtdtgpva5hcmlom9ixfl3v3c

$ md5sum *.h5
30323351a2636ba4987e216be5c383a1  lda.pwscf.h5

The above direct link was verified in July 2022 but may be fragile.

$ ls -l *.h5
3187556652 lda.pwscf.h5

The h5 file should be placed in a directory labeled C-graphite.
QMC_DATA should be set to the directory containing C-graphite
when CMake is run.

4. Throughput metric
5. Benchmarking with ctest
6. Running the benchmarks manually
7. Additional considerations

See ../NiO/README