YASARA can accelerate molecular dynamics
simulations using GPUs from AMD, nVIDIA and Intel, in Linux and Windows
(MacOS currently crashes, the problem has been reported to Apple).
The actual performance is shown on the
benchmark page, including article references.
YASARA uses the GPU to calculate the non-bonded interactions (Van der
Waals and real-space Coulomb forces), all the rest (PME, bonded
intraactions, NMR restraints…) is done by the CPU. This
approach has a few advantages:
- The CPU's power is not wasted by letting it run
especially since some tasks are better handled by the CPU (the GPU
architecture is quite different).
- Complicated algorithms developed over the past
don't have to be rewritten for the GPU and are immediately available
(knowledge- based force fields for protein refinement, NMR
- Macros that interact with the simulation
(steered MD etc.)
The only real disadvantage is that you cannot
upgrade an old computer by
inserting a top graphics card. Instead, the power of the CPU must match
the GPU - but having a fast CPU for everyday work is not really a
disadvantage at all.
To keep the GPU busy, a fast CPU is required. Depending on your budget,
we recommend most recent CPUs from Intel and the new Ryzen 5000 CPUs with Zen 3 architecture released by AMD in 2020.
The only thing to keep in mind is that CPU clock speed tends to be more important than CPU core count.
For example Intel's giant Xeons with huge caches and countless cores are less attractive,
because they combine a significantly higher price tag with a low clock
frequency, that is even throttled further down when using high
performance AVX code (like YASARA does). For the same reason, machines with two or more CPU sockets cannot be recommended.
The cores should all have equally fast access to memory, that's why we don't recommend Ryzen Threadripper 2990WX and 2970X, where you have to fiddle with extra tools to tune memory access.
Also note that the more threads a CPU can execute, the larger
the simulated system must be. The very small DHFR benchmark with 23786 atoms can keep 16
YASARA uses the industry standard 'open compute language'
communicate with the GPU. OpenCL is supported by all major GPU vendors,
so by using OpenCL, YASARA promotes competition and makes sure that you
are not tied to a single company, who can then ask arbitrary prices
for their hardware.
To estimate how well a certain card from nVIDIA or AMD is suited for MD simulation with YASARA, please
visit the CompuBench 1.5 OpenCL benchmark page and look at "Particle simulation 64k".
Since YASARA uses both CPU and GPU at the same time, their power must match. It doesn't make sense to pair
an ultra-high end GPU with a low end CPU, because the GPU would spend most of its time waiting.
If you go for a GPU from nVIDIA, pick a Geforce RTX or newer, it has features that are helpful for YASARA's new Vulkan graphics engine.
- Linux delivers the highest performance, thanks to its
on clusters and the extensive optimization work done to make good use
of these expensive resources.
- Windows, being the primary video game platform, has also
optimized and gets very close to Linux (within a few percent), so the
difference is only measurable but not noticeable.
- MacOS has been heavily optimized for power efficiency
battery life on mobile devices, but not so much for performance. It has
difficulties dealing with programs that spawn multiple threads to fully
exploit the CPU's potential. As a result, MD simulations of small
proteins may run noticeably slower, but the difference becomes smaller
with growing protein size. Unfortunately, GPU acceleration in MacOS is
somewhat unreliable, depending on your MacOS version and GPU type, it
can work fine or crash. Both problems have been reported to
Apple and will hopefully be solved soon.