3 JobSched
David Anderson edited this page 2023-08-22 13:15:33 -07:00

Job-level scheduler customization

sched/sched_customize.cpp contains the following function:

bool wu_is_infeasible_custom(WORKUNIT& wu, APP& app, BEST_APP_VERSION& bav);

This is called for every job that the scheduler considers dispatching. If it returns true, the scheduler won't send the job to this host. This allows you to make project-specific scheduling decisions on a per-job basis.

The default implementation simply returns false. However, you can customize it. The source code contains (commented out) the following possible policies:

  • Don't use GPU versions for particular jobs.
  • Require a certain number of GPU processors, as specified by WU.batch.
  • Reduce the FLOPS estimate for particular jobs.