gromacs does not uses cuda

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
User avatar
vinod jani
Posts: 14
Joined: Sun Dec 07, 2008 9:16 pm

RE: gromacs does not uses cuda

Post by vinod jani » Wed May 27, 2009 6:19 am

hello peter
Now when i am trying to install new gromacs version
its giving error undefined reference to openmm_init()
i have added openmm include and lib path through flags.Also when i am commenting a line #define USE_OPENMM in md.c its compling properly but when i am such a compiled version nothing on console is printed i.e openMM platform and the program get hangs.
I am working on 64 bit linux machine.

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

RE: gromacs does not uses cuda

Post by Peter Eastman » Wed May 27, 2009 12:31 pm

The main limitation is if you're using implicit solvent. The params.agb file that we include only has parameters for AMBER99. You can use other force fields, but you have to add the necessary atom types to that file yourself.

If you're using explicit solvent, the options are much wider. Any version of AMBER should work fine, as should OPLS and probably others. The only restriction is that the force field can't rely on the more exotic potential terms that aren't supported by OpenMM (e.g. Morse potential).

By the way, I wanted to clarify something. When you said that with explicit solvent, the CPU was faster than CUDA, I assume you were referring to standard Gromacs, not to OpenMM's reference platform (which isn't at all optimized, and should be slower than even a low end GPU)?

Peter

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

RE: gromacs does not uses cuda

Post by Peter Eastman » Wed May 27, 2009 12:43 pm

I'm starting to get confused about what you have and haven't done, so let me go through it methodically and see if we can identify where things are failing.

Have you 1) downloaded and 2) successfully compiled OpenMM? That involves running ccmake to set the compilation parameters, then "make install" to compile and install it. Assuming you've done this, you should be able to type "make test" to run all the test cases. Does that work? (To run the tests for the CUDA platform, be sure you have the CUDA lib directory in your library path.)

Assuming all of that works, we know that OpenMM is OK, so the next thing is to download and install the standard Gromacs 4.0.5. Make sure you can do that successfully.

If all of that works, then you want to download the OpenMM Gromacs distribution, merge the files into the Gromacs source, and recompile. That means running "automake", "autoconf", "configure", and "make install" in that order. You shouldn't have to modify any source code.

Peter

User avatar
Michael Sherman
Posts: 807
Joined: Fri Apr 01, 2005 6:05 pm

RE: gromacs does not uses cuda

Post by Michael Sherman » Wed May 27, 2009 1:37 pm

A caution on OPLS: it uses a different Lennard-Jones mixing rule (Jorgensen's) than does OpenMM which currently supports only the Lorentz-Berthelot mixing rule used by Amber and Charmm.

Sherm

User avatar
vinod jani
Posts: 14
Joined: Sun Dec 07, 2008 9:16 pm

RE: gromacs does not uses cuda

Post by vinod jani » Thu May 28, 2009 4:46 am

hello peter ,Thanks a lot i was able to sucessfully compile the gromacs.
Now when I am running mdrun on the console OpenMM Platform: Reference is printed and program halts over their nothing more is printed
I have added both cuda and openmm lib path through LD_LIBRARY_PATH.
So what can be the issue for gromacs not using the GPUs and why the program halts.

User avatar
Christian Hübner
Posts: 9
Joined: Thu Jan 22, 2009 4:10 am

RE: gromacs does not uses cuda

Post by Christian Hübner » Thu May 28, 2009 4:56 am

This comparison was indeed performed with standard gromacs mdrun on a single core of the cpu. There, o used the OPLS force field. Which force field would you propose?

Best
Christian

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

RE: gromacs does not uses cuda

Post by Peter Eastman » Thu May 28, 2009 7:37 am

Did you go through all the steps I outlined? Were you able to run the OpenMM test cases? Did all of them pass, including the CUDA ones? What directory is OpenMM installed in? Did you set OPENMM_PLUGIN_DIR? What files are in the directory it points to?

Peter

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

RE: gromacs does not uses cuda

Post by Peter Eastman » Thu May 28, 2009 7:41 am

We use AMBER for all of our work here. That's not specifically a recommendation of it. I'm just saying that I know OpenMM works well with it.

For speed comparisons, though, it's mostly irrelevant. AMBER and OPLS use nearly identical functional forms, so there should be no significant speed difference between them.

Peter

User avatar
vinod jani
Posts: 14
Joined: Sun Dec 07, 2008 9:16 pm

RE: gromacs does not uses cuda

Post by vinod jani » Thu May 28, 2009 11:12 pm

hello peter,
yes i followed all the steps you mentioned.the openmm test are passed
following is the result
1/ 16 Testing TestFindExclusions Passed
2/ 16 Testing TestReferenceVerletIntegrator Passed
3/ 16 Testing TestReferenceHarmonicBondForce Passed
4/ 16 Testing TestReferenceGBVIForce Passed
5/ 16 Testing TestReferencePeriodicTorsionFo Passed
6/ 16 Testing TestReferenceCMMotionRemover Passed
7/ 16 Testing TestReferenceLangevinIntegrato Passed
8/ 16 Testing TestReferenceNeighborList Passed
9/ 16 Testing TestReferenceGBSAOBCForce Passed
10/ 16 Testing TestReferenceRandom Passed
11/ 16 Testing TestReferenceHarmonicAngleForc Passed
12/ 16 Testing TestReferenceRBTorsionForce Passed
13/ 16 Testing TestReferenceNonbondedForce Passed
14/ 16 Testing TestReferenceAndersenThermosta Passed
15/ 16 Testing TestReferenceBrownianIntegrato Passed
16/ 16 Testing TestReferenceKineticEnergy Passed

100% tests passed, 0 tests failed out of 16

openmm is installed in /usr/local/openmm

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

RE: gromacs does not uses cuda

Post by Peter Eastman » Fri May 29, 2009 6:13 am

It looks like the CUDA code isn't even being built. When you run ccmake, there's an option called something like "OPENMM_BUILD_CUDA" (I don't remember exactly) that determines whether it builds the CUDA platform. Make sure that option is enabled.

Peter

POST REPLY