diff --git a/client/cpu_sched.cpp b/client/cpu_sched.cpp index ef7d6f7552..b9437d2d55 100644 --- a/client/cpu_sched.cpp +++ b/client/cpu_sched.cpp @@ -172,7 +172,13 @@ struct PROC_RESOURCES { } reserve_coprocs(*rp); if (rp->uses_coprocs()) { - ncpus_used_st += rp->avp->avg_ncpus; + //ncpus_used_st += rp->avp->avg_ncpus; + // don't increment CPU usage. + // This may seem odd; the reason is the following scenario: + // - this job uses lots of CPU (say, a whole one) + // - there's an uncheckpointed GPU job that uses little CPU + // - we end up running the uncheckpointed job + // - this causes all or part of a CPU to be idle } else if (rp->avp->avg_ncpus > 1) { ncpus_used_mt += rp->avp->avg_ncpus; } else { diff --git a/tools/boinc_submit b/tools/boinc_submit index 48d359a6f5..c6cb65f550 100755 --- a/tools/boinc_submit +++ b/tools/boinc_submit @@ -16,8 +16,8 @@ // --stdin name: direct the given file to the program's stdin. // --outfile name: specifies an output file. // --stdout name: direct the program's stdout to the given file. -// --platform: the [platform] on which the program is to be run -// (default: i686-pc-linux-gnu). +// --platform: the platform on which the program is to be run +// (default: platform of server host; assumed to be Linux) // // You can include as many --infile and --outfile options as you want, // and at most one of others. @@ -57,7 +57,7 @@ $job_params->delay_bound = 7*86400; // delay bound: 1 week // $project_dir = null; $job_dir = getcwd(); -$platform = 'i686-pc-linux-gnu'; +$platform = `arch|tr -d "\n"`.'-pc-linux-gnu'; $infiles = array(); $infiles_phys = array(); // input filename with _WUID appended