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.