Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f1fc1b3
Steps toward speeding up ForwardApp wrapped SeqEns
dwhswenson Apr 27, 2015
a6a3438
Some tests for FwdAppTrajEns. Debug caching, too
dwhswenson Apr 28, 2015
8c92b8f
Switched Wrapped calls to trusted=None
dwhswenson Apr 28, 2015
e8728f8
Merge remote-tracking branch 'upstream/master' into faster_sequential…
dwhswenson Apr 28, 2015
633c413
Appears that I have faster can_append now.
dwhswenson Apr 29, 2015
cde7f98
Merge remote-tracking branch 'upstream/master' into faster_sequential…
dwhswenson Apr 29, 2015
cf7e724
Skeletons for adding BkwdPrep caching (tests)
dwhswenson Apr 30, 2015
f6a3294
Waiting on new traj funcs to merge (fails now)
dwhswenson Apr 30, 2015
72d2d87
Merge remote-tracking branch 'upstream/master' into faster_sequential…
dwhswenson Apr 30, 2015
cf4e912
Looks like working cache for BkwdPrep.can_prepend
dwhswenson Apr 30, 2015
8049e25
Added error on Bkwdprep.can_app. Removed debugs.
dwhswenson May 1, 2015
ef2102f
Merge remote-tracking branch 'upstream/master' into timing_test
dwhswenson May 1, 2015
c4f2092
Merge branch 'faster_sequential_ensemble' into timing_test
dwhswenson May 1, 2015
6e7498b
Removed very slow debug statement
dwhswenson May 1, 2015
a47c6fb
Merge pull request #13 from dwhswenson/timing_test
dwhswenson May 1, 2015
c5fefef
We appear to have near-linear scaling now
dwhswenson May 1, 2015
4e8e231
About as fast as I can get it (for now)
dwhswenson May 1, 2015
9cd3ebc
Merge remote-tracking branch 'upstream/master' into faster_sequential…
dwhswenson May 3, 2015
84f54a6
Fix tests. Tricks made redundant by #242.
dwhswenson May 3, 2015
86fba2b
Merge remote-tracking branch 'upstream/master' into faster_sequential…
dwhswenson May 7, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
We appear to have near-linear scaling now
  • Loading branch information
dwhswenson committed May 1, 2015
commit c5fefefa1991eb2e3509c86ff02d8a2e904ee68e
22 changes: 15 additions & 7 deletions openpathsampling/ensemble.py
Original file line number Diff line number Diff line change
Expand Up @@ -896,6 +896,9 @@ def _find_subtraj_first(self, traj, subtraj_final, ens_num,
subtraj = traj[slice(subtraj_first, subtraj_final)]
logger.debug("*Traj slice " + str(subtraj_first) + " " +
str(subtraj_final) + " / " + str(len(traj)))
logger.debug("Ensemble " + str(ens.__class__.__name__))# + str(ens))
logger.debug("Can-app " + str(ens.can_append(subtraj, trusted=True)))
logger.debug("Call " + str(ens(subtraj, trusted=True)))
while ( (ens.can_prepend(subtraj, trusted=True) or
ens.check_reverse(subtraj, trusted=True)
) and subtraj_first >= traj_first):
Expand Down Expand Up @@ -1065,7 +1068,12 @@ def can_prepend(self, trajectory, trusted=False):
self.update_cache(cache, ens_num, first_ens, subtraj_final)
self.assign_frames(cache, None, None, None)
else:
subtraj_final = len(trajectory)+cache.contents['subtraj_from']
logger.debug("len(traj)="+str(len(trajectory)) +
"cache_from="+str(cache.contents['subtraj_from']))
subtraj_from = cache.contents['subtraj_from']
if subtraj_from == None:
subtraj_from = 0
subtraj_final = len(trajectory)+subtraj_from
ens_num = cache.contents['ens_num']
ens_final = cache.contents['ens_from']

Expand Down Expand Up @@ -1491,11 +1499,11 @@ def __init__(self, ensemble, add_trajectory):

def _alter(self, trajectory):
logger.debug("Starting BackwardPrepended._alter")
logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))
#logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))
reset = self._cache_can_prepend.check(trajectory)
logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))
logger.debug("traj " + str([id(i) for i in trajectory]))
logger.debug("trajrev " + str([id(i) for i in trajectory.reversed]))
#logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))
#logger.debug("traj " + str([id(i) for i in trajectory]))
#logger.debug("trajrev " + str([id(i) for i in trajectory.reversed]))
#reset = False
if not reset:
logger.debug("BackwardPrended was not reset")
Expand All @@ -1507,8 +1515,8 @@ def _alter(self, trajectory):
self._cached_trajectory = trajectory.reversed + self.add_trajectory

#logger.debug("revtraj " + str([id(i) for i in revtraj]))
logger.debug("add " + str([id(i) for i in self.add_trajectory]))
logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))
#logger.debug("add " + str([id(i) for i in self.add_trajectory]))
#logger.debug("altered " + str([id(i) for i in self._cached_trajectory]))

return self._cached_trajectory

Expand Down
8 changes: 1 addition & 7 deletions openpathsampling/tests/testensemble.py
Original file line number Diff line number Diff line change
Expand Up @@ -1043,32 +1043,26 @@ def test_sequential_caching_call(self):

def test_sequential_caching_can_prepend(self):
cache = self.pseudo_minus._cache_can_prepend
print "5"
assert_equal(self.pseudo_minus.can_prepend(self.traj[5:6]), True)
assert_equal(cache.contents['ens_num'], 3)
assert_equal(cache.contents['ens_from'], 4)
assert_equal(cache.contents['subtraj_from'], -1)
print "4"
assert_equal(self.pseudo_minus.can_prepend(self.traj[4:6]), True)
assert_equal(cache.contents['ens_num'], 3)
assert_equal(cache.contents['ens_from'], 4)
assert_equal(cache.contents['subtraj_from'], -1)
print "3"
assert_equal(self.pseudo_minus.can_prepend(self.traj[3:6]), True)
assert_equal(cache.contents['ens_num'], 2)
assert_equal(cache.contents['ens_from'], 4)
assert_equal(cache.contents['subtraj_from'], -2)
print "2"
assert_equal(self.pseudo_minus.can_prepend(self.traj[2:6]), True)
assert_equal(cache.contents['ens_num'], 2)
assert_equal(cache.contents['ens_from'], 4)
assert_equal(cache.contents['subtraj_from'], -2)
print "1"
assert_equal(self.pseudo_minus.can_prepend(self.traj[1:6]), True)
assert_equal(cache.contents['ens_num'], 1)
assert_equal(cache.contents['ens_from'], 4)
assert_equal(cache.contents['subtraj_from'], -4)
print "0"
assert_equal(self.pseudo_minus.can_prepend(self.traj[0:6]), False)
assert_equal(cache.contents['ens_num'], 0)
assert_equal(cache.contents['ens_from'], 4)
Expand Down Expand Up @@ -1440,7 +1434,7 @@ def test_good_end_traj(self):
)
assert_equal(ens.can_prepend(traj[-3:-2]), True)
assert_equal(ens(traj[-3:-2]), True)
assert_equal(ens.can_append(traj[-4:-2]), False)
assert_equal(ens.can_prepend(traj[-4:-2]), False)
assert_equal(ens(traj[-4:-2]), False)

def test_caching_in_bkwdprep_seq(self):
Expand Down