-
- Downloads
scheduler: preliminary support for generic coprocessors
A "generic" coprocessor is one that's reported by the client, but's not of a type that the scheduler knows about (NVIDIA, AMD, Intel). With this commit the following works: - On the client, define a <coproc> in your cc_config.xml with a custom name, say 'miner_asic'. - define a plan class such as <plan_class> <name>foobar</name> <gpu_type>miner_asic</gpu_type> <cpu_frac>0.5</cpu_frac> <plan_class> - App versions of this plan class will be sent only to hosts that report a coproc of type "miner_asic". The <app_version>s in the scheduler reply will include a <coproc> element with the given name and count=1. This will cause the client (at least the current client) to run only one of these jobs at a time, and to schedule the CPU appropriately. Note: there's a lot missing from this; - app version FLOPS will be those of a CPU app; - jobs will be sent only if CPU work is requested ... and many other things. Fixing these issues requires a significant re-architecture of the scheduler, in particular getting rid of the PROC_TYPE_* constants and the associated arrays, which hard-wire the 3 fixed GPU types.
Showing
- lib/coproc.cpp 9 additions, 0 deletionslib/coproc.cpp
- lib/coproc.h 9 additions, 1 deletionlib/coproc.h
- sched/plan_class_spec.cpp 42 additions, 16 deletionssched/plan_class_spec.cpp
- sched/sched_check.cpp 1 addition, 1 deletionsched/sched_check.cpp
- sched/sched_send.cpp 5 additions, 5 deletionssched/sched_send.cpp
- sched/sched_types.cpp 13 additions, 3 deletionssched/sched_types.cpp
- sched/sched_types.h 4 additions, 0 deletionssched/sched_types.h
- sched/sched_version.cpp 1 addition, 1 deletionsched/sched_version.cpp
Loading
Please register or sign in to comment