Commit Graph

41 Commits

Author SHA1 Message Date
Bernd Machenschalk d75be9fdc4 scheduler:
plan_class_spec: allow to specify <project_prefs_default_true/>,
    in which case a project_prefs_tag absent in the project specific
    preferences of the user is treated as 'true', i.e. as if the
    project_prefs_regex matched.
2014-06-05 11:58:32 +02:00
David Anderson 8cc4b4f13d scheduler: support OpenCL/CPU apps in the XML plan class spec mechanism
Previously the scheduler would crash in some cases.
2014-06-04 23:39:10 -07:00
David Anderson ee82d749a4 scheduler: fix bug in XML plan class spec for AMD
We weren't initializing min_cal_target and max_cal_target,
causing erroneous failures.
2014-06-01 10:21:16 -07:00
David Anderson d861862ca1 server: fix compile warnings and file descriptor leaks
Also, we were using memset() to zero WORK_REQ,
which contains several std::vector's.
This apparently works on Linux, but not in general.
2014-01-08 22:00:13 -08:00
David Anderson 7d54e6537e scheduler: add <vm_accel_required> flag to plan class XML spec 2013-12-03 15:54:56 -08:00
David Anderson b156e88208 scheduler: sample code for the SSE3 plan class must check for "pni" rather than "sse3"; clients report "pni" 2013-08-08 11:00:29 -07:00
Eric J Korpela 4e338e946e -SCHED: Added plan class spec plan class option "<need_amd_libs>" (similar to
"<need_ati_libs>".  Before this the default was to require AMD libraries unless
    need_ati_libs was set.  Now the default is to require neither.  This is
    necessary for MacOS compatibility (where there is no distiction).
   -SCHED: Changed intel gpu type search to match any string in the gpu_type
    beginning with "intel".  This was done because there have been
    inconsistencies in the code where "intel" vs "intel_gpu" is used.
2013-06-25 19:17:46 -07:00
David Anderson 846b8c7757 all components: change strcpy() to strlcpy() when possible.
This commit should cover the client and manager code.
2013-06-03 20:24:48 -07:00
Eric J Korpela 6c76ddd45c - SCHED: Fixed problem that prevented proper driver version checking in cuda and
nvidia plan classes in plan_class_spec.xml
- SCHED: Scheduler was not using properly estimated performance when assigning
  work.  It was using theoretical performance to choose version and actual
  preformance to determine how long it would take.  I've changed that to start
  with theoretical performance and converge to actual performance as
  host_app_version pfc_n increases.
- SCHED: Added some additional app version selection debugging output.
2013-05-19 11:08:36 -07:00
Eric J Korpela 8998f7d21e Added missing '\n' in plan_class_spec debugging output. 2013-04-25 16:33:22 -07:00
Eric J Korpela ca40cdac33 Added "<without_opencl>" boolean to plan_class_spec to make it possible to
restrict an ATI/AMD CAL app to GPUs and drivers that don't support OpenCL.
2013-04-25 13:28:41 -07:00
David Anderson 7abfe40063 - scheduler: add optional <host_summary_regex> element to plan_class_spec.xml.
This regular expression is matched against the "host summary" string
    stored in host.serialnum.
    You can use this, e.g., to allow only particular GPU models.
2013-04-15 12:00:14 -07:00
Eric J Korpela 61609281c1 - added opencl_driver_revision to OPENCL_DEVICE_PROP and PLAN_CLASS_SPEC. This
was necessary because ATI is releasing OpenCL drivers that don't work.
2013-04-10 18:20:22 -07:00
David Anderson 5b701ef9e0 - scheduler: fix bug in plan class XML spec,
when it uses a project-specific pref element that's
    missing from a user's prefs.
    From Michael Goetz via Rytis.
2013-04-04 23:58:15 -07:00
David Anderson 24e8133e4b - tabs -> spaces 2013-04-02 17:23:37 -07:00
Eric J Korpela 4a4678aeb9 - Added boinc version checking to plan_class_spec. New plan_class_spec.xml tags
are   <max_core_client_version> and <min_core_client_version> which are
  integer values major*10000+minor*100+release
2013-03-05 14:17:54 +01:00
Oliver Bock 508b9b572b Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	checkin_notes
	client/acct_mgr.cpp
	client/cs_statefile.cpp
	client/gpu_opencl.cpp
	lib/coproc.cpp

Additional changes:
	client/Makefile.am

Dropped changes:
	client/cs_scheduler.cpp (516eff6)
	sched/sched_send.cpp (2dd8288)
2013-03-04 16:35:08 +01:00
Rom Walton 2dd82881de - client/server: fix build breaks I introduced last night with a variable
rename.
2013-03-04 15:30:03 +01:00
David Anderson 96b8bc39d0 - user web: fix bug when do forum search on Google
svn path=/trunk/boinc/; revision=26101
2012-09-12 22:31:23 +00:00
Eric J. Korpela b7741c880e -fixed bug in plan_class_spec.cpp the resulting in GPU performance
not being included in scheduler or credit calculations.


svn path=/trunk/boinc/; revision=26087
2012-09-10 22:56:46 +00:00
David Anderson da7e40f142 - use <cmath> instead of <math.h>. Seems to be needed on Debian.
svn path=/trunk/boinc/; revision=25938
2012-08-01 21:21:38 +00:00
David Anderson 68f9880615 - client: remove "device" entry from CUDA_DEVICE_PROP,
and change types of mem-size fields from int to double.
    These fields are size_t in NVIDIA's version of this;
    however, cuDeviceGetAttribute() returns them as int,
    so I don't see where this makes any difference.
- client: fix bug in handling of <no_rsc_apps> element.
- scheduler: message tweaks.
    Note: [foo] means that the message is enabled by <debug_foo>.



svn path=/trunk/boinc/; revision=25849
2012-07-05 20:24:17 +00:00
Eric J. Korpela 0bb1fd6581 Added additional debugging output for plan classes.
Replaced caluclation of ati version as integer with call to ati_version_int in
plan_class_spec.cpp


svn path=/trunk/boinc/; revision=25848
2012-07-05 15:29:38 +00:00
David Anderson 8d8662adb2 - more code cleanup
svn path=/trunk/boinc/; revision=25838
2012-07-02 19:31:34 +00:00
David Anderson 8c71f6d59a - scheduler: add support for Intel GPUs, and restructure things
to make it easier to add other GPU types in the future


svn path=/trunk/boinc/; revision=25792
2012-06-25 23:09:45 +00:00
David Anderson fd0983b991 - web: server status page should show elapsed time, not CPU time
svn path=/trunk/boinc/; revision=25785
2012-06-22 07:35:54 +00:00
David Anderson 751fdd97ca - scheduler: add <min_cal_target>, <max_cal_target>
to plan class XML spec options;
    lets you specify a range of ATI GPU models to use


svn path=/trunk/boinc/; revision=25749
2012-06-07 21:08:47 +00:00
David Anderson 0492e0c2b8 - scheduler: add <need_ati_libs> option
svn path=/trunk/boinc/; revision=25747
2012-06-07 03:39:37 +00:00
Bernd Machenschalk 470c505d78 - scheduler: minor fixes to plan_clas_spec:
- consistently accept both 'ati' and 'amd' for AMD/ATI plan classes
      - in OpenCL plan classes always use device memory reported via OpenCL
        (might be different e.g. from what's available/reported via CUDA)
      - comment formatting

svn path=/trunk/boinc/; revision=25744
2012-06-06 10:05:00 +00:00
David Anderson c94ca443c1 - scheduler: add example plan_class_spec.xml
- scheduler: change gpu_type from "ati" to "amd" in plan class spec


svn path=/trunk/boinc/; revision=25741
2012-06-06 06:05:14 +00:00
David Anderson 567fdc45fc - scheduler: add Vbox stuff to plan_class_spec
svn path=/trunk/boinc/; revision=25739
2012-06-06 04:45:12 +00:00
David Anderson b0fd55bf87 - scheduler: debug plan_class_spec a little.
Add an #ifdef'd main program in plan_class_spec.cpp,
    and a makefile, for testing purposes.


svn path=/trunk/boinc/; revision=25738
2012-06-06 03:47:13 +00:00
David Anderson 69a595329d - scheduler: various fixes to plan_class_spec.cpp; from Bernd
- admin web: don't include the project's stylesheet,
    which may assume a layout not used by admin pages


svn path=/trunk/boinc/; revision=25731
2012-06-03 17:31:00 +00:00
David Anderson 71e93caf85 - scheduler: revision of app_plan_spec mechanism.
Not debugged, but it compiles now.


svn path=/trunk/boinc/; revision=25675
2012-05-14 19:49:12 +00:00
David Anderson 7f3fd1f45e - LAMMPS script: chdir back to html/user, else page_head() breaks
svn path=/trunk/boinc/; revision=25674
2012-05-14 06:54:38 +00:00
Bernd Machenschalk 84a53855ad scheduler: don't override avg_ncpus per default
svn path=/trunk/boinc/; revision=25657
2012-05-08 12:51:20 +00:00
Bernd Machenschalk f57f4634df scheduler: no functional change, just got rid of DOS linebreaks
svn path=/trunk/boinc/; revision=25656
2012-05-08 12:31:37 +00:00
David Anderson 759c23ed27 - server: create a harness for testing validator code.
If you link your functions (init_result(), compare_results(),
    cleanup_result()) with validate_test.cpp,
    you'll get a program that you can run as
        validate_test file1 file2
    and it will compare the two files
    (this works only for validators that expect 1 file per result).

    I added a makefile, sched/makefile_validator_test,
    that you can use for this.
- server: shuffle code so that the above doesn't need to
    link MySQL libraries
- client: if we fetch a master file and it contains no scheduler URLs,
    show a message of class INTERNAL_ERROR
- client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double,
    and remove dtotalGlobalMem.
    Although NVIDIA reports RAM size as a size_t,
    there's no reason to store it as an integer after that.


svn path=/trunk/boinc/; revision=25542
2012-04-10 00:32:35 +00:00
Bernd Machenschalk 75a2116f2e - scheduler: fix hu.peak_flops and hu.projected_flops caclculation
in plan_class_spec by using coproc_pref() and capped_host_fpops()
        (moved coproc_perf() to sched_customize.h to make it available
        in plan_class_spec.cpp, and cleaned up includes)


svn path=/trunk/boinc/; revision=25467
2012-03-21 12:40:18 +00:00
David Anderson 4ce9d9e212 - scheduler: code cleanup for the above
svn path=/trunk/boinc/; revision=25427
2012-03-14 22:42:38 +00:00
David Anderson a16032dee5 - scheduler: add an alternative way of defining app plan functions
that uses an XML configuration file;
    see http://boinc.berkeley.edu/trac/wiki/AppPlanConfig
    From Bernd.


svn path=/trunk/boinc/; revision=25426
2012-03-14 19:53:16 +00:00