Project

General

Profile

Feature #693

add CcdCallBacksReset() to header file (or improve callback frequency)

Added by Jim Phillips over 4 years ago. Updated 10 months ago.

Status:
Merged
Priority:
Normal
Category:
-
Target version:
Start date:
03/09/2015
Due date:
% Done:

0%

Spent time:

Description

Trying to poll the GPU every 0.1ms I get much lower frequency when the PE is busy. The expedient solution is to add a call to CcdCallBacksReset() immediately before every call to CcdCallFnAfter(). This resets the message skip count, which CcdCallBacks() tunes to 5ms, and instead typically checks the callback after every entry point.

I currently provide a CcdCallBacksReset() prototype in the NAMD source code, but it would be better to expose this function in a Charm++ header file, or call it automatically inside CcdCallFnAfter(). It would also help if CcdCallBacks() tuned nSkip to the shortest registered callback interval rather than a fixed 5ms.

History

#1 Updated by Nikhil Jain almost 4 years ago

  • Assignee set to Michael Robson

#2 Updated by Michael Robson almost 4 years ago

  • Target version changed from 6.7.0 to 6.8.0

#3 Updated by Michael Robson over 2 years ago

  • Status changed from New to In Progress

#4 Updated by Michael Robson over 2 years ago

  • Status changed from In Progress to New

#5 Updated by Michael Robson over 2 years ago

  • Target version changed from 6.8.0 to 6.8.1

#6 Updated by Eric Bohm almost 2 years ago

  • Target version changed from 6.8.1 to 6.9.0

#7 Updated by Michael Robson 12 months ago

  • Status changed from New to In Progress

#8 Updated by Michael Robson 11 months ago

8/15:

Discussed with Ronak and Eric B. Decided to expose a timing knob to user (instead of the reset header). The semantics of calling CcdCallbackReset in user code is unclear. In the future we could automatically call CcdCallbackReset or have a new combined function, if this was requested. Additionally, I'm updating the documentation to both a) explicitly state the default polling resolution (5ms) and b) how to decrease this number. We decided that toggling resolution up and down should be sufficient for this use case. We also decided against automatically invoking CcdCallbackReset inside of CcdCallFnAfter because it might have bad hidden side effects ie increased time spent polling when not obvious/explicitly asked for. We couldn't agree on the best way to have an immediate/reset function. If, in the future, we want a one-time fast(er) function this can be implemented, which isn't the case here.

#9 Updated by Michael Robson 11 months ago

  • Status changed from In Progress to Implemented

#10 Updated by Sam White 10 months ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF