[Openmm-betatesters] OpenMM 5.2 beta available
Peter Eastman
peastman at stanford.edu
Wed Aug 21 16:54:41 PDT 2013
A beta of OpenMM 5.2 is now available. This is a major release with lots of new features. Here are some of the most important ones.
There is a new plugin for simulating Drude oscillators. It includes all the forces required to model them, as well as two different integrators (Langevin and SCF) specifically for use with systems that contain them. See the API documentation for details. We also have added the SWM4-NDP water model, which is a polarizable water model based on Drude oscillators.
CustomNonbondedForce has gained lots of new abilities. You can restrict the interaction to only specific groups of particles, which is useful for lots of purposes (energy decompositions, Monte Carlo, restraints, etc.). When simulating periodic systems, it now supports a long range truncation correction (similar to the dispersion correction found in NonbondedForce). It also adds an option to automatically apply a switching function to your interaction.
NonbondedForce also adds support for using a switching function with Lennard-Jones interactions, which is useful in cases where very precise energy conservation is important.
The RPMD plugin has gained a powerful new ability: it can apply ring polymer contractions, so that smoother, slower changing forces are only computed a smaller number of times. This can lead to very large performance improvements.
We have created a new, entirely CPU based implementation of PME that can optionally be used with the CUDA and OpenCL platforms. Of course, your GPU can probably do the computation faster than the CPU, but the advantage is that the CPU can be doing the reciprocal space calculation at the same time the GPU is doing the direct space calculation. Depending on the relative speed of your CPU and GPU, this might (or might not) produce a big speedup. Depending on the hardware, we've measured everything from a 2x speedup to a 3x slowdown, so try it for yourself and see how it works.
There are a few requirements to use this feature. First, you must have FFTW (single precision, multi-threaded) installed. Second, your CPU must support SSE 4.1. Also, it is only supported in single and mixed precision modes, not in double precision. Finally, you must enable the feature by setting the platform-specific property "CudaUseCpuPme" or "OpenCLUseCpuPme" to "true" when you create your Context. If any of these requirements is not met, it will use the standard PME implementation instead. If you want to make sure of whether it is being used, call getPropertyValue() on the Platform to check the value of CudaUseCpuPme/OpenCLUseCpuPme.
We've also made a lot of other changes to speed up various parts of the code. One of the most important ones is that the CUDA platform will now cache compiled kernels for reuse in the future, rather than having to recompile them every time. This makes a huge difference in how long it takes to create a Context. The AMBER and Gromacs file loaders are also a lot faster than before.
On recent Intel processors (IvyBridge and later), the OpenCL platform can now run on the integrated GPU cores. But note that Intel's OpenCL only supports the GPU on Windows, not on Linux.
OpenMM 5.2 beta is available from the OpenMM download page at https://simtk.org/project/xml/downloads.xml?group_id=161. Scroll down to the bottom of the section for version 5.1 and click the link that says, "List all hidden releases." This link will only appear if you are a project member, so if you aren't, email me and I'll add you.
Thank you all for your help in testing this release!
Peter
More information about the Openmm-betatesters
mailing list