chrishkchris commented on pull request #716: URL: https://github.com/apache/singa/pull/716#issuecomment-640070499
> @chrishkchris In the communicator.cc, we split the original operation into multiple. Is this to facilitate recording the time? Yes, in order to record the time, those operations that are used for waiting should not be included. Otherwise the recorded time will include the waiting time. For example, if I do not split the operator, a filling buffer operation will have the time profiled as the sum of : 1. waiting for the NULL stream before start filling buffer 2. filling buffer If there is no need to wait, then the time spent for 1 will be zero, but some it still need to wait. The aims of the time profiling design is to figure out how much time actual time (excluding waiting time) we need for each operators, so in the future we may be able to do better scheduling. Therefore, all the "waiting" operation should be excluded from time profiling of operators. Also, since there is no need to record the waiting time, I renamed all the waiting operators as "waiting" so that we don't time profiling for them https://github.com/chrishkchris/singa/blob/SINGA-510_2/src/core/scheduler/scheduler.cc#L292 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
