「view this page in B3 βῆτα server」

Revisions №60172

branch: master 「№60172」
Commited by: Vikram K. Mulligan
GitHub commit link: 「ef334a50fe5ae4a5」 「№3144」
Difference from previous tested commit:  code diff
Commit date: 2018-04-24 18:33:45

Merge pull request #3144 from RosettaCommons/vmullig/buried_unsat_score_incremental_merge_4 Incremental merge 4: Efficiency improvements for the buried_unsatisfied_penalty scoreterm OK, now that it works, let's make it fast. This should significantly speed up the calculation, especially for large poses or large rotamer sets. Tasks: - [x] Add logic to update only relevant nodes during packer run. - [x] Beauty. - [x] Benchmark speedup -- how much does this help? - Ugh -- without optimizations, it was resulting in a 67-fold slowdown on a naïve PackRotamers run with all canonicals. (The scaling seems quadratic -- this is why I wasn't seeing much slowdown on my small test cases). - With optimizations, it's a 6-fold slowdown. This scales linearly with pose size (_i.e._ it remains a 6-fold slowdown even for a large pose). - There may be additional optimizations possible. - [x] Double-check unit tests. - [x] Double-check integration tests. - [x] This pull request must be merged after #3143.