SanderOpenmm tests: Segmentation fault error

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Vivek Bharadwaj
Posts: 2
Joined: Mon Aug 15, 2011 12:06 pm

SanderOpenmm tests: Segmentation fault error

Post by Vivek Bharadwaj » Thu Aug 18, 2011 1:24 pm

Hi everyone,

I have been trying to install & test the sanderOpenmm version on our cluster. The cluster has a Ubuntu 10.04 OS. The login node has all the softwares installed while the GPUs are on the compute nodes. Amongst the compute nodes, we have 2 nodes with 1 Tesla1060 each, 2 nodes with 1 GTX580 each and 2 nodes with 2 GTX580s each. I was able to successfully compile the Openmm version of Sander on the login node.

When I try to run the test, with the acetamide I get the following error,

vbharadwaj@deepblue-1-5:~/sanderOpenMM_0.2.0/tests/acetamide$ ./runSander.sh
./runSander.sh: line 25: 20328 Segmentation fault $AMBERHOME/bin/sander_openmm -i peptide.in -o peptide.out -p peptide.top -c peptide.crd -r peptide.rst -x peptide.trj -e peptide.en
At line 1298 of file _ew_box.f (unit = 9, file = 'fort.9')
Fortran runtime error: End of file


What could be the issue? How can I rectify this?

Please advise.

User avatar
John Chodera
Posts: 53
Joined: Wed Dec 13, 2006 6:22 pm

RE: SanderOpenmm tests: Segmentation fault error

Post by John Chodera » Thu Aug 18, 2011 3:15 pm

Hi Vivek,

Can you package up the input files you're using here?

I think I've seen this error before, and in the cases I ran into, I was trying to use the wrong format for input coordinates. Is your peptide.crd file a proper restart file, with six coordinates per line, or is it a frame of a trajectory file, with ten coordinates per line?

John

User avatar
Vivek Bharadwaj
Posts: 2
Joined: Mon Aug 15, 2011 12:06 pm

RE: SanderOpenmm tests: Segmentation fault error

Post by Vivek Bharadwaj » Fri Aug 19, 2011 12:22 pm

Hi John,

Thank you for the response.

I was trying to run the test suite as recommended in the README file. The test I am running is located in
sanderOpenMM_0.2.0/tests/acetamide/runSander.sh

Here is the peptide.crd file

9
1.8031844 -5.0919278 21.5797694 1.0900000 -4.4850000 21.0220000
0.5802651 -3.8040940 21.7036419 0.3573196 -5.1336948 20.5419234
1.7960000 -3.6580000 19.9400000 3.0040000 -3.7260000 19.7860000
1.0440000 -2.8770000 19.1910000 0.0459803 -2.8411639 19.3419122
1.4656417 -2.3142308 18.4660111

Vivek

User avatar
Michael Garrahan
Posts: 11
Joined: Fri Aug 21, 2009 4:32 pm

Re: SanderOpenmm tests: Segmentation fault error

Post by Michael Garrahan » Tue Nov 15, 2011 11:36 am

openmm_sander as distributed gave me segfaults too with OpenMM 3.1.1. With OpenMM 2.0 it terminated normally or at least reported an "invalid argument launching kernel" error.

OpenMM seems to have added an argument to Context::getState between releases.
  1. copy OpenMMFortranModule.f90 from the OpenMM 3.1.1 include directory to AMBERHOME/src/openmm_sander
  2. modify openmm_sander.f as shown
  3. recompile openmm_sander
Then my openmm_sander runs to completion. I chose enforcePeriodicBox=OpenMM_False because its default value is false in the C++ API.

Code: Select all

@@ -700,7 +700,7 @@
       if (nstep>0 .AND. ntwx>0 .AND. (mod(nstep,ntwx) == 0)) then
             openmm_state_types = IOR(openmm_state_types, OpenMM_State_Positions)
       end if
-      call OpenMM_Context_getState(context, openmm_state_types, state)
+      call OpenMM_Context_getState(context, openmm_state_types, OpenMM_False, state)
       if (nstep==0 .AND. irest==0) then
          ! Back velocities by half a time step.  This is how Sander does it.
          call OpenMM_State_getVelocities(state, allVelInNmAmberTime)

POST REPLY