Commit 0cbd43fb authored by peastman's avatar peastman
Browse files

Added benchmarks for ApoA1

parent 143fe36d
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -14,13 +14,14 @@ def timeIntegration(context, steps, initialSteps): ...@@ -14,13 +14,14 @@ def timeIntegration(context, steps, initialSteps):
context.getIntegrator().step(steps) context.getIntegrator().step(steps)
context.getState(getEnergy=True) context.getState(getEnergy=True)
end = datetime.now() end = datetime.now()
elapsed = end -start elapsed = end-start
return elapsed.seconds + elapsed.microseconds*1e-6 return elapsed.seconds + elapsed.microseconds*1e-6
def runOneTest(testName, options): def runOneTest(testName, options):
"""Perform a single benchmarking simulation.""" """Perform a single benchmarking simulation."""
explicit = (testName in ('rf', 'pme', 'amoebapme')) explicit = (testName in ('rf', 'pme', 'amoebapme'))
amoeba = (testName in ('amoebagk', 'amoebapme')) amoeba = (testName in ('amoebagk', 'amoebapme'))
apoa1 = testName.startswith('apoa1')
hydrogenMass = None hydrogenMass = None
print() print()
if amoeba: if amoeba:
...@@ -54,7 +55,20 @@ def runOneTest(testName, options): ...@@ -54,7 +55,20 @@ def runOneTest(testName, options):
dt = 0.002*unit.picoseconds dt = 0.002*unit.picoseconds
integ = mm.MTSIntegrator(dt, [(0,2), (1,1)]) integ = mm.MTSIntegrator(dt, [(0,2), (1,1)])
else: else:
if explicit: if apoa1:
ff = app.ForceField('amber14/protein.ff14SB.xml', 'amber14/lipid17.xml', 'amber14/tip3p.xml')
pdb = app.PDBFile('apoa1.pdb')
if testName == 'apoa1pme':
method = app.PME
cutoff = options.cutoff
elif testName == 'apoa1ljpme':
method = app.LJPME
cutoff = options.cutoff
else:
method = app.CutoffPeriodic
cutoff = 1*unit.nanometers
friction = 1*(1/unit.picoseconds)
elif explicit:
ff = app.ForceField('amber99sb.xml', 'tip3p.xml') ff = app.ForceField('amber99sb.xml', 'tip3p.xml')
pdb = app.PDBFile('5dfr_solv-cube_equil.pdb') pdb = app.PDBFile('5dfr_solv-cube_equil.pdb')
if testName == 'pme': if testName == 'pme':
...@@ -116,7 +130,7 @@ def runOneTest(testName, options): ...@@ -116,7 +130,7 @@ def runOneTest(testName, options):
parser = OptionParser() parser = OptionParser()
platformNames = [mm.Platform.getPlatform(i).getName() for i in range(mm.Platform.getNumPlatforms())] platformNames = [mm.Platform.getPlatform(i).getName() for i in range(mm.Platform.getNumPlatforms())]
parser.add_option('--platform', dest='platform', choices=platformNames, help='name of the platform to benchmark') parser.add_option('--platform', dest='platform', choices=platformNames, help='name of the platform to benchmark')
parser.add_option('--test', dest='test', choices=('gbsa', 'rf', 'pme', 'amoebagk', 'amoebapme'), help='the test to perform: gbsa, rf, pme, amoebagk, or amoebapme [default: all]') parser.add_option('--test', dest='test', choices=('gbsa', 'rf', 'pme', 'apoa1rf', 'apoa1pme', 'apoa1ljpme', 'amoebagk', 'amoebapme'), help='the test to perform: gbsa, rf, pme, apoa1rf, apoa1pme, apoa1ljpme, amoebagk, or amoebapme [default: all]')
parser.add_option('--pme-cutoff', default='0.9', dest='cutoff', type='float', help='direct space cutoff for PME in nm [default: 0.9]') parser.add_option('--pme-cutoff', default='0.9', dest='cutoff', type='float', help='direct space cutoff for PME in nm [default: 0.9]')
parser.add_option('--seconds', default='60', dest='seconds', type='float', help='target simulation length in seconds [default: 60]') parser.add_option('--seconds', default='60', dest='seconds', type='float', help='target simulation length in seconds [default: 60]')
parser.add_option('--polarization', default='mutual', dest='polarization', choices=('direct', 'extrapolated', 'mutual'), help='the polarization method for AMOEBA: direct, extrapolated, or mutual [default: mutual]') parser.add_option('--polarization', default='mutual', dest='polarization', choices=('direct', 'extrapolated', 'mutual'), help='the polarization method for AMOEBA: direct, extrapolated, or mutual [default: mutual]')
...@@ -138,7 +152,7 @@ if options.platform in ('CUDA', 'OpenCL'): ...@@ -138,7 +152,7 @@ if options.platform in ('CUDA', 'OpenCL'):
# Run the simulations. # Run the simulations.
if options.test is None: if options.test is None:
for test in ('gbsa', 'rf', 'pme', 'amoebagk', 'amoebapme'): for test in ('gbsa', 'rf', 'pme', 'apoa1rf', 'apoa1pme', 'apoa1ljpme', 'amoebagk', 'amoebapme'):
try: try:
runOneTest(test, options) runOneTest(test, options)
except Exception as ex: except Exception as ex:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment