YASARA can accelerate molecular dynamics
simulations using GPUs from AMD, nVIDIA and Intel, in Linux and Windows
(MacOSX 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 6700K (socket 1151), 6800K, 6850K, 6900K or 6950X (socket 2011-3)
(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's CPUs are unfortunately
currently not competitive, but this will hopefully change with their
next CPU generation.
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/390X 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 or GTX 1080.
- 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.
- MacOSX 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 MacOSX is
currently not working reliably. Both problems have been reported to
Apple and will hopefully be solved soon.