Commit Graph

10 Commits

Author SHA1 Message Date
David Anderson dc0b76494c - client: if suspend a file xfer, set upload_offset to -1;
that way it will query server for file length when it resumes,
		rather than uploading from the beginning
	- client: back out SEH handling for GPU detection

svn path=/trunk/boinc/; revision=20750
2010-02-27 01:04:14 +00:00
Rom Walton 04b6570f96 - client: Add SEH handlers around the Nvidia and ATI detection
routines.  Take care of situations where something within
        the vendors functions cause a crash.
        
    client/
        coproc_detect.cpp

svn path=/trunk/boinc/; revision=20744
2010-02-26 18:03:39 +00:00
Rom Walton 3f89b88fff - client: newer ATI drivers crash if struct_size isn't filled out
before the structure is used.
        
    client/
        coproc_detect.cpp

svn path=/trunk/boinc/; revision=20388
2010-02-02 21:16:02 +00:00
David Anderson 20d6b06f5f - client: initial checkin for "don't compute if CPU usage above X"
svn path=/trunk/boinc/; revision=20192
2010-01-19 00:03:38 +00:00
David Anderson 10ed3004c6 - client: ATI available RAM wasn't being detected correctly
svn path=/trunk/boinc/; revision=20061
2010-01-03 17:46:11 +00:00
Charlie Fenton 033804ccda client: add missing dlsym of cuMemGetInfo() on non_Windows platforms
svn path=/trunk/boinc/; revision=19953
2009-12-17 09:58:56 +00:00
David Anderson ff39c80efb - client: ATI: call calShutdown() when done.
Otherwise Lenovo can't switch to low-power GPU

svn path=/trunk/boinc/; revision=19896
2009-12-14 17:15:55 +00:00
David Anderson 8520644cf0 svn path=/trunk/boinc/; revision=19865 2009-12-11 22:56:46 +00:00
David Anderson a151ad6cb3 - client/scheduler: deal with situation where GPU has enough
RAM to run job, but when we actually run the job
    not enough GPU RAM is free, so the application fails.
    This can cause a large number of jobs to fail.
    Solution:
    - app_plan() can specify the GPU RAM requirements of an app version.
        This is passed to the client in a new field
        <gpu_ram> of the <app_version> element.
    - prior to starting or restarting a GPU app, the client
        checks the amount of free RAM on the particular GPU.
        If it's not enough for the app version,
        the client doesn't start it,
        and arranges for the scheduler to ignore it for 5 minutes
        (by which point there might be more free GPU RAM)
    Notes:
    1) this change will have effect only when
        both client and scheduler are updated.
    2) the check is done in enforce_schedule(),
        rather than schedule_cpus(),
        because only at that point
        have we assigned a specific GPU to the job.
    3) there's another case to deal with:
        a GPU app's malloc of GPU RAM fails in the middle of the job.
        Currently the job fails.
        I plan to add an API call boinc_temporary_exit(x) so
        that the job can exit and potentially restart in x seconds.
        (In principle this mechanism is sufficient for all cases,
        but it could lead to a lot of starting/exiting,
        so the current change is worthwhile).

svn path=/trunk/boinc/; revision=19864
2009-12-11 22:45:59 +00:00
David Anderson 95579e7ebe svn path=/trunk/boinc/; revision=19795 2009-12-07 00:49:36 +00:00