Parallel computing & HPC#
Parts I–III taught you to run qc-rs. This part teaches you to run it fast and big — using more than one CPU core, more than one machine, or a GPU. It is written from zero: you do not need any high-performance computing (HPC) background. We start with what parallelism even is, then work up through the three levels qc-rs exposes.
Note
You do not need this to get started Everything so far ran fine on a single core. Reach for this part when a calculation is too slow or too big for one core — a larger molecule, a bigger basis, a geometry optimization with many steps. If your work fits comfortably on a laptop, you can skip Part IV until you need it.
The three levels of parallelism#
qc-rs can use more hardware in three complementary ways, from easiest to most involved:
level |
hardware |
qc-rs knob |
chapter |
|---|---|---|---|
Threads |
multiple cores of one machine (shared memory) |
|
|
MPI |
multiple machines (a cluster) |
|
|
GPU |
an NVIDIA graphics card |
|
They compose: a big cluster run uses MPI across nodes and threads within each node, and optionally a GPU per node. The primer explains the underlying ideas (processes vs threads, shared vs distributed memory, Amdahl’s law) before any qc-rs specifics; the later chapters are the practical how-to.
One idea to carry through: more hardware changes the speed, not the answer#
Just as the initial guess and the convergence algorithm
only changed the path, adding cores, ranks, or a GPU only changes how fast you get the result — the
converged energy is the same (to the floating-point reduction order). You will see this verified throughout:
run(nthread=1) and run(nthread=4) give bit-identical water energies.
A separate axis: the integral strategy (eri=)#
Performance in quantum chemistry is dominated by the two-electron integrals, and qc-rs lets you choose how
they are handled — in memory, recomputed, out-of-core, density-fitted, on the GPU — through a single
ints(eri=...) keyword. That choice interacts with all three parallelism levels, so it gets its own chapter:
ERI / J-K strategies.
Ready? Start with the parallel-computing primer, which assumes nothing.