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
we recommend the Intel Core i7 7700K, 8700K (socket 1151), 7820X, 7900X or 7940X (socket 2066)
(ordered from slowest to fastest).
The processors are unlocked, you can easily clock them higher in the BIOS.
Intel's giant Xeons with huge caches and up to 20 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). AMD has recently released the new Ryzen CPUs,
which look very promising. Note that Ryzen Threadrippers provide less performance per core, but more
cores per money spent. First user reports therefore indicate that simulations of very small systems
(like the DHFR benchmark with 23000 atoms) don't unleash the full Ryzen Threadripper power, since the
communication overhead between the 32 threads dominates.
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.
The most reliable and up-to-date OpenCL drivers are provided by AMD, so AMD's Radeon
cards are our primary recommendation for running YASARA, with some exceptions:
- For standard 4-core CPUs (e.g. Core i7 47XX) the AMD Radeon R9-290X/R9-390X/RX580 is a good match,
e.g. the Saphire TriX.
- For fast 4-core CPUs (e.g. Core i7 6700K) you need a faster GPU like the AMD Radeon R9 Fury.
Unfortunately this card is still rather expensive, so the equally fast Geforce GTX 970 is a better buy.
- For extremely fast 6-core to 10-core CPUs (e.g. Core i7 5960X, 6900K or 6950X) you need an equally
fast GPU, and this area is currently dominated by nVIDIA.
Depending on your budget, choose a GTX 980, GTX 980Ti, GTX 1070, GTX 1080, GTX 1080Ti or any newer and faster card (this page is not updated with each graphics card release).
- If you are
running Linux, AMD's drivers are known to
problems during installation. On some combinations of APUs and Linux
distributions (e.g. AMD A10 7850K in Fedora 20) we even saw the
installation fail completely or the driver crashing. Therefore nVIDIA's
Geforce GTX cards may be the safer choice.
- 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.