Skip to content

Commit

Permalink
[Fix][MetaSchedule] RPCRunner timeout when queueing up
Browse files Browse the repository at this point in the history
This PR fixes the timeout rule of MetaSchedule RPCRunner.

Prior to this PR, the RPCRunner sets a timeout threshold for jobs
submitted to popen pool. As a result, the jobs are timed since the
time that they are sent to the remote side.

Consider the case where there is only a single device for measurement.
In this case, all jobs can only be executed serially and jobs must
queue up. Therefore, the previous timeout configuration means the
time spent on queueing will also be counted. This causes some jobs,
in the worst cases, gets timeout without even started to execute,
and has negative impacts on RPC MetaSchedule tuning, from the
perspectives of both efficiency and result performance.

Co-authored-by: Bohan Hou <[email protected]>
  • Loading branch information
MasterJH5574 and spectrometerHBH committed Feb 12, 2023
1 parent 49b6c3a commit e2d19eb
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion python/tvm/meta_schedule/runner/rpc_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,6 @@ def __init__(
logger.info("RPCRunner: max_workers = %d", max_workers)
self.pool = PopenPoolExecutor(
max_workers=max_workers,
timeout=rpc_config.session_timeout_sec,
initializer=initializer,
)
self._sanity_check()
Expand Down

0 comments on commit e2d19eb

Please sign in to comment.