Gromacs-OpenMM on Windows

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
User avatar
Shashi Prakash
Posts: 6
Joined: Fri Jun 25, 2010 9:12 pm

RE: Gromacs-OpenMM on Windows

Post by Shashi Prakash » Mon Jul 19, 2010 9:16 pm

- GPU: NVIDIA GeForce 9600 GT
- The simulations takes Platform: OpenCL by default
- Running deviceQuery from GPU Computing Browser gives:

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\bin\win64\Release\d
eviceQuery.exe Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

There is 1 device supporting CUDA

Device 0: "GeForce 9600 GT"
CUDA Driver Version: 3.10
CUDA Runtime Version: 3.10
CUDA Capability Major revision number: 1
CUDA Capability Minor revision number: 1
Total amount of global memory: 521732096 bytes
Number of multiprocessors: 8
Number of cores: 64
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 8192
Warp size: 32
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 2147483647 bytes
Texture alignment: 256 bytes
Clock rate: 1.63 GHz
Concurrent copy and execution: Yes
Run time limit on kernels: Yes
Integrated: No
Support host page-locked memory mapping: No
Compute mode: Default (multiple host threads
can use this device simultaneously)
Concurrent kernel execution: No
Device has ECC support enabled: No

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 3.10, CUDA Runtime Vers
ion = 3.10, NumDevs = 1, Device = GeForce 9600 GT


PASSED

Press <Enter> to Quit...
-----------------------------------------------------------

- I can't find the plugins directory in C:\Zephyr (My Zephyr installation). It has C:\Zephyr\bin\win32\lib\openmm directory that contains dll files for both nvidia(OpenMMCUDA.dll) and opencl(OpenMMOpenCL.dll) in their resective directories.

Although, I did find plugins directory in source. Does that mean I will have to compile source to make use of both CUDA and OpenCL?

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

RE: Gromacs-OpenMM on Windows

Post by Peter Eastman » Wed Jul 21, 2010 11:08 am

It will look for plugins in the directory pointed to by OPENMM_PLUGIN_DIR. In an earlier post you said you were setting that to C:\Zephyr\bin\win32\lin\openmm\nvidia. What is in that directory? (And I assume it's actually "lib", not "lin"?)

Peter

User avatar
Shashi Prakash
Posts: 6
Joined: Fri Jun 25, 2010 9:12 pm

RE: Gromacs-OpenMM on Windows

Post by Shashi Prakash » Wed Jul 21, 2010 11:21 am

Yes it is lib not lin. Sorry about that. OPENMM_PLUGIN_DIR points to C:\Zephyr\bin\win32\lib\openmm\nvidia that contains OpenMMCuda.dll and it doesn't work. On the other hand, if it points to C:\Zephyr\bin\win32\lib\openmm\opencl that contains OpenMMOpenCL.dll, it works just fine.

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

RE: Gromacs-OpenMM on Windows

Post by Peter Eastman » Wed Jul 21, 2010 11:32 am

Ok, that makes sense.

First thing to check: do you have CUDA 3.1 installed? I've heard some reports that the OpenCL platform will still run (though not necessarily correctly) if you have CUDA 3.0, but the CUDA platform will simply fail to load. Could that be what is happening? In any case, OpenMM 2.0 does require CUDA 3.1.

If that's not it, then presumably the CUDA plugin is failing to load due to an unresolved dependency. There's a program called Dependency Walker that will tell you exactly what libraries the plugin (OpenMMCuda.dll) depends on and whether any of them is unresolved. Try running that and see what it says.

Peter

User avatar
Shashi Prakash
Posts: 6
Joined: Fri Jun 25, 2010 9:12 pm

RE: Gromacs-OpenMM on Windows

Post by Shashi Prakash » Wed Jul 21, 2010 1:30 pm

Thank you. I think the second case is true. Dependency Walker says that there are two files : CUDART32_31_9.DLL and CUFFT32_31_9.DLL that are missing. So I found these dlls and copied them to C:\Zephyr\bin\win32\lib\openmm\auto. I also copied the latest OpenMMCuda.dll from OPenMM2.0 because the earlier one wasn't working and then when I ran Zephyr GUI, it worked! It picks up the CUDA platform now and loads the above three dlls in order to do it.
Thanks again for your help!

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

RE: Gromacs-OpenMM on Windows

Post by Peter Eastman » Wed Jul 21, 2010 2:08 pm

Great! I wonder why it wasn't finding them? Perhaps the CUDA install directory wasn't in your PATH?

Peter

User avatar
Shashi Prakash
Posts: 6
Joined: Fri Jun 25, 2010 9:12 pm

RE: Gromacs-OpenMM on Windows

Post by Shashi Prakash » Wed Jul 21, 2010 2:24 pm

True. It turns out that only C:\CUDA\bin64 was in the path (since it is 64-bit Windows) whereas OpenMMCUDA.dll still uses the 32-bit dll files (found in C:\CUDA\bin) so it has to be set manually using command prompt.

POST REPLY