OpenMM 7.2 beta

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

OpenMM 7.2 beta

Post by Peter Eastman » Tue Dec 05, 2017 2:25 pm

The beta of OpenMM 7.2 is now available for testing! It has lots of new features that we hope you'll find useful. To install it, type

conda install -c omnia/label/beta openmm

It's now built against CUDA 9.0, so be sure you have that installed if you plan to use the CUDA platform.

Maybe the most important addition is that OpenMM now has built in support for the Amber14 and CHARMM36 force fields. These are modern force fields that often produce more realistic results than the older ones. They also include parameters for other types of molecules we didn't support before, such as lipids and carbohydrates. That means you can now set up membrane simulations entirely in OpenMM without needing to define parameters in a different program.

To go with that, the Modeller class now has a routine for building lipid membranes. It provides built in support for POPC and POPE lipids. You can also build other types of membranes, even mixtures of multiple lipid types, by providing a PDB file with a pre-equilibrated membrane patch that can be tiled to form a membrane.

We've created a new class, CustomCVForce, for applying forces based on collective variables. You already could use CVs via the Plumed plugin, but that has one big disadvantage: it's slow. This new class can do everything directly on the GPU, so it's a lot faster. It takes the unique approach of using Force objects to define CVs. That means any function you can define with a Force object (including any of the custom forces) can be used as a collective variable. This is a very flexible approach, and it can compute a lot of functions that aren't available in Plumed. On the other hand, there are a few popular CVs (such as RMSD) that aren't currently possible through this approach, so we'd really like feedback on what other functions would be most useful to add.

Defining virtual sites with the LocalCoordinatesSite class is more flexible than it used to be. Previously you could define a virtual site based on the positions of any three particles. Now it supports arbitrary numbers of particles, so you can define virtual sites based on the positions of four or more other particles.

Another new feature is that CustomIntegrator lets you define tabulated functions and use them as part of your integration algorithm. This can be very useful for certain types of integrators.

A minor but very handy new feature is that Context.reinitialize() has an option to preserve state within the context. You should still avoid reinitializing the context more than necessary (it's slow), but when you need to do so, it's a lot easier than before.

Starting in this release, conda is the only mechanism we're using to distribute pre-built binaries. We're no longer creating the old zip installers. They were more work to maintain, and we got far more reports of people running into problems with them than with conda. You can still build from source, of course, if you prefer that. OpenMM now requires a compiler that supports C++11. That shouldn't be an issue unless you were using a very old compiler.

We're still working on updating the documentation, but most of the changes are in. You can always find the up to date documentation for the in-development code by going to http://openmm.org/documentation.html and scrolling down to the bottom of the page.

Feedback, suggestions, and bug reports are all welcome. Note that we're still testing the new force fields to make sure they give identical results to the versions in CHARMM and Amber, so don't use them for production simulations just yet. If all goes well, we should be able to get the official release out in about a month.

Peter

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Thu Dec 07, 2017 11:03 am

I've also updated the OpenMM-Setup GUI application to support the new features in 7.2. To install it, type

conda install -c omnia/label/beta openmm-setup

And then run it by typing

openmm-setup

When 7.2 is released, this will become the new recommended way to set up simulations and create scripts. So please try it out and give us feedback on how it works for you.

Peter

User avatar
Vincent Voelz
Posts: 1
Joined: Tue Mar 20, 2007 7:57 am

Re: OpenMM 7.2 beta

Post by Vincent Voelz » Thu Dec 21, 2017 11:31 am

I have been trying to get the OpenMM 7.2 beta running on my MacBook Pro. It's GPU is a NVIDIA GeForce GT 750M 2048 MB, which should be CUDA-compatible.

I installed CUDA 9 and the OpenMM 7.2 beta through conda. When I test the installation, it can't find CUDA:

Code: Select all

vvs-MacBook-Pro:~ vv$ python -m simtk.testInstallation
There are 3 Platforms available:

1 Reference - Successfully computed forces
2 CPU - Successfully computed forces
3 OpenCL - Successfully computed forces

Median difference in forces between platforms:

Reference vs. CPU: 1.97886e-05
Reference vs. OpenCL: 2.15526e-05
CPU vs. OpenCL: 1.55184e-05
My library path setup is below -- am I missing something?

Code: Select all

# NOTE that everything in /usr/local/cuda/ is *linked* to /Developer/NVIDIA/CUDA-9.1/
export PATH=/usr/local/cuda/bin:$PATH
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:/Users/vv/anaconda/pkgs/openmm-7.2.0-py27_0/lib:/Users/vv/anaconda/pkgs/openmm-7.2.0-py27_0/lib/plugins
export OPENMM_PLUGIN_DIR=/Users/vv/anaconda/pkgs/openmm-7.2.0-py27_0/lib/plugins
p.s. The openmm-setup utility is really cool! Feedback: I was able to break it with a PDB output from a gromacs simulation, but a legit *.pdb file from RCSB seems to work fine.

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Thu Dec 21, 2017 11:48 am

The Mac installer doesn't include the CUDA platform. Apple hasn't sold any computers with NVIDIA GPUs in a few years, and none of us has one to test it on. Based on https://support.apple.com/en-us/HT202823, you probably have a 2013 or 2014 MacBook Pro? Those were the very last computers they made with NVIDIA GPUs.

In theory you should be able to compile it from source and it should work fine. I just can't guarantee it.

Peter

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Thu Jan 18, 2018 10:51 am

The release candidate is now available. To install it, type

conda install -c omnia/label/rc openmm

If no problems are found in it, we'll declare it to be the final release next week.

Peter

User avatar
Wei Chen
Posts: 83
Joined: Thu Jul 02, 2015 6:35 pm

Re: OpenMM 7.2 beta

Post by Wei Chen » Mon Jan 22, 2018 12:59 am

Hi Peter,

Is CUDA 9 required for OpenMM 7.2? Can I compile it with CUDA 8 from source?

Thanks!

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Mon Jan 22, 2018 10:06 am

Compiling against CUDA 8.0 should work fine.

Peter

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Wed Jan 31, 2018 10:44 am

We've posted a new release candidate. It fixes some errors in the CHARMM36 force field that were present in the first one. Install with the same command as before, and it should automatically update to the new build.

Peter

User avatar
Peter Eastman
Posts: 2602
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.2 beta

Post by Peter Eastman » Mon Feb 19, 2018 6:07 pm

There's a new release candidate with yet more fixes to CHARMM36. Sorry this release is being so difficult to get out! Hopefully we finally have all the problems fixed now.

Peter

POST REPLY