Commit Graph

1886 Commits

Author SHA1 Message Date
David Anderson a0e3c5ae8d - client (Mac/Linux): if the NVIDIA or ATI detection functions
cause a SIGSEGV, recover from it.

svn path=/trunk/boinc/; revision=19533
2009-11-10 23:26:10 +00:00
David Anderson 0b93f21caf - Progress on new credit system. Seems to work!
svn path=/trunk/boinc/; revision=19527
2009-11-10 21:00:29 +00:00
David Anderson 177fae6e08 - client: parse HTTP_PROXY strings of the form
http://username:passwd@host.dom.dom:port/file
    (we weren't parsing the username and password before).
- client: fix the feature that lets you exclude a list of hosts
    from going through the proxy.

svn path=/trunk/boinc/; revision=19513
2009-11-07 06:00:08 +00:00
David Anderson e89def870d svn path=/trunk/boinc/; revision=19491 2009-11-06 00:24:26 +00:00
David Anderson b29f920999 - Move URL-related code to a new file
- Remove stuff related to SOCKS version, since we only support 5

svn path=/trunk/boinc/; revision=19480
2009-11-05 18:02:51 +00:00
David Anderson 305239f293 - credit: weight averages by PFC. Else in SETI@home,
a large number of short jobs makes the CUDA version
    look much less efficient than it actually is.

svn path=/trunk/boinc/; revision=19478
2009-11-05 17:17:13 +00:00
David Anderson 2f636a6f62 svn path=/trunk/boinc/; revision=19464 2009-11-04 23:23:19 +00:00
David Anderson a83b3fa3ba svn path=/trunk/boinc/; revision=19463 2009-11-04 23:04:07 +00:00
David Anderson 8caa2cf3d5 - test code for new credit system
svn path=/trunk/boinc/; revision=19462
2009-11-04 21:23:56 +00:00
Rom Walton ada6e10461 - client: Use the ANSI version of WTSQuerySessionInformation to determine
is Remote Desktop is in use.
        
    lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19347
2009-10-20 14:51:20 +00:00
Rom Walton 03e1dfa0a2 - client: Use is_remote_desktop() instead of the various GPU functions
to determine when the client software has been switched into Remote
        Desktop mode and shutsdown GPU apps.  This will prevent App crashes.
        
    lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19339
2009-10-19 14:48:45 +00:00
David Anderson fe2a18f282 - client/scheduler: standardize the FLOPS estimate between NVIDIA and ATI.
Make them both peak FLOPS,
    according to the formula supplied by the manufacturer.

    The impact on the client is minor:
    - the startup message describing the GPU
    - the weight of the resource type in computing long-term debt

    On the server, I changed the example app_plan() function
    to assume that app FLOPS is 20% of peak FLOPS
    (that's about what it is for SETI@home)

svn path=/trunk/boinc/; revision=19310
2009-10-16 00:13:01 +00:00
Rom Walton 40c159c6b0 Quick Updates
svn path=/trunk/boinc/; revision=19308
2009-10-15 03:11:12 +00:00
David Anderson 700ecbab86 svn path=/trunk/boinc/; revision=19307 2009-10-14 21:14:34 +00:00
David Anderson 8edc613d91 svn path=/trunk/boinc/; revision=19306 2009-10-14 21:01:06 +00:00
David Anderson 4595b95c43 svn path=/trunk/boinc/; revision=19305 2009-10-14 20:27:52 +00:00
David Anderson 4537dedcd3 - update cal.h to current ATI code
svn path=/trunk/boinc/; revision=19304
2009-10-14 20:09:41 +00:00
David Anderson 9cd9a028b3 svn path=/trunk/boinc/; revision=19303 2009-10-14 19:29:37 +00:00
David Anderson d6efa7dabb - client: address the situation where GPUs become unusable
for certain periods (e.g. when Remote Desktop is used on Win).
    - add is_usable() member function to COPROC.
        Currently this just calls the respective (CUDA or CAL)
        initialization function.
        We need to check whether this works and/or causes problems.
    - in enforce_schedule(), check whether usability has changed
        for each GPU type.
        If we've gone from usable to unusable,
        flag all jobs for that GPU as coproc_missing
        (so they won't get run, and will quit if they're running).
        If we've gone from unusable to usable, clear the flag.
    This should deal with all cases except where
    the client is started up with GPUs unusable.
- scheduler: more query optimizations for locality scheduling
    (from Oliver Bock)

svn path=/trunk/boinc/; revision=19301
2009-10-14 18:07:49 +00:00
Rom Walton 265de0b15f Quick Updates
svn path=/trunk/boinc/; revision=19299
2009-10-13 22:13:27 +00:00
Rom Walton 2a0dbe4e74 - LIB: Make the is_remote_desktop compilable for all VS versions
and SKUs.
        
    lib/
        win_util.cpp, .h

svn path=/trunk/boinc/; revision=19296
2009-10-13 18:12:33 +00:00
David Anderson 483d79b28d svn path=/trunk/boinc/; revision=19291 2009-10-12 20:01:49 +00:00
David Anderson 2f56f16924 - added code for Linux mouse check
svn path=/trunk/boinc/; revision=19290
2009-10-12 19:48:43 +00:00
David Anderson 5e862ac495 - client: on startup, if a coproc needed by a job is missing,
set a "coproc_missing" flag rather than aborting the job.
        If use removes a GPU board while there's a large queue of GPU jobs,
        they'll stay queued (until their deadline passes).

        Note: this doesn't fix the situation where user connects via
        Remote Desktop while GPU jobs are running or queued.
        We should check for Remote Desktop every minute or so, and stop GPU jobs.

svn path=/trunk/boinc/; revision=19287
2009-10-12 16:28:17 +00:00
Bernd Machenschalk 3f38b286d3 lib: some changes to help building the WIN32 library with MinGW/gcc
enable by defining MINGW_WIN32 macro, nothing should change if
this is not set

svn path=/trunk/boinc/; revision=19280
2009-10-07 19:17:52 +00:00
David Anderson 54b078d0af - client: add --unsigned_apps_ok cmdline option
and <unsigned_apps_ok> config option.
    This tells the client to allow unsigned apps.
    For testing.
    No file xfers or other network traffic will be allowed if set.
- client: add <exit_after_finish> option (same as cmdline flag)
- client: add <skip_cpu_benchmarks> option (same as cmdline flag)
- client: print message if abort past-deadline unstarted job
- client: improve message when have NVIDIA drivers but no GPU
    

svn path=/trunk/boinc/; revision=19276
2009-10-07 18:42:51 +00:00
Rom Walton 87ffbfcea4 - DIAG: Don't resume after the thread has been suspended, otherwise the
thread stack may be trashed after extracting the context.  This should
        still be okay though as by the time the diagnostics framework
        has gotten here it has already downloaded all the symbols it'll need.

    lib/
        diagnostics_win.cpp
        

svn path=/trunk/boinc/; revision=19244
2009-10-05 16:20:39 +00:00
Rom Walton 6d726159cf - DIAG: Suspend threads right before extracting their context and then
resume them afterwords.  Otherwise we could end up in a deadlock state
        where both the main thread and a support thread are attempting to use
        the same system resource. In the last situation it was way down in
        Winsock.
        
    lib/
        diagnostics_win.cpp

svn path=/trunk/boinc/; revision=19242
2009-10-05 15:07:59 +00:00
David Anderson fb14ff8a7a - client: fix bug where if you change project "no CPU/NVIDIA/ATI"
prefs and update, the change wouldn't take effect until client restart.
	- client: fix bug in enforcement of "no CPU/NVIDIA/ATI" prefs

svn path=/trunk/boinc/; revision=19236
2009-10-03 00:19:11 +00:00
David Anderson 833f417ae5 - client: better behavior if a GPU goes away:
1) if an APP_VERSION is missing a coprocessor,
        don't delete it and its files.
        (If the coprocessor returns, we won't need to re-download)
    2) if a RESULT uses an app version that is missing a coprocessor,
        abort it (rather than deleting it).
        The client will report the result on the next scheduler RPC,
        and the server will make a new instance.

svn path=/trunk/boinc/; revision=19235
2009-10-02 23:39:38 +00:00
David Anderson fca2cb8016 - client: restore calDeviceGetInfo(), add its info to COPROC_ATI struct
(some plan class might need to know this).
    Code cleanup.

svn path=/trunk/boinc/; revision=19234
2009-10-02 22:58:03 +00:00
Rom Walton a563b684cb - lib: Fix memory/resource leak.
(From Nicolás Alvarez)
        
    lib/
        shmem.cpp

svn path=/trunk/boinc/; revision=19229
2009-10-01 23:21:03 +00:00
Rom Walton f810629e92 - lib: Add additional ATI descriptions.
- lib: Fix some inaccurate ATI capabilities in certain cards.
        (From: Andreas a.k.a Gipsel)
        
    lib/
        coproc.cpp


svn path=/trunk/boinc/; revision=19228
2009-10-01 20:04:46 +00:00
Rom Walton 72e78dfbac - lib: Fix memory/resource leak.
(From Nicolás Alvarez)
        
    lib/
        shmem.cpp

svn path=/trunk/boinc/; revision=19227
2009-10-01 20:02:06 +00:00
Rom Walton 2b6f430094 - client: fix a handle leak I just introduced.
(From: Andreas a.k.a Gipsel)
        
    lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19226
2009-10-01 19:15:42 +00:00
Rom Walton 2c9f5ed224 - client: only support one of the ati13* plan classes at a time.
A couple users had not updated their amdcal* runtime libraries
        after upgrading catalyst drivers.  This was leading to crashes
        of the project applications when work was supplied looking
        for the old DLL names.
        
    lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19225
2009-10-01 15:22:01 +00:00
David Anderson a762e222cc - client: if downloaded project list file is garbage, ignore it.
- all: accept <foo /> as an XML bool

svn path=/trunk/boinc/; revision=19220
2009-09-30 17:13:45 +00:00
Rom Walton 5a54302bf6 - client: fix bug in coproc summary string.
lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19209
2009-09-29 15:28:56 +00:00
David Anderson 71c7e7a74b - client/scheduler/web: add per-project preferences for whether
to accept CPU, NVIDIA and ATI jobs.
    These prefs are shown only where relevant:
    e.g., only for processor types for which the project has app versions,
    and if it has versions for only one type, no pref is shown.

    These prefs affect both client and scheduler.
    The client won't ask for work for a device blocked by prefs,
    and the scheduler won't send it.

    This replaces earlier optional project-specific prefs for
    "no CPU jobs" and "no GPU jobs".
    (However, these prefs continue to be honored on the server side).

- client: if NVIDIA driver is unknown, say that rather than 0


svn path=/trunk/boinc/; revision=19194
2009-09-28 04:24:18 +00:00
David Anderson a24410c659 - code shuffling; not significant
svn path=/trunk/boinc/; revision=19183
2009-09-25 21:56:13 +00:00
David Anderson 8874e4bcf3 svn path=/trunk/boinc/; revision=19168 2009-09-25 17:41:16 +00:00
David Anderson 64559c7da8 - client: improve ATI description strings (from Andreas)
svn path=/trunk/boinc/; revision=19166
2009-09-25 17:13:48 +00:00
Rom Walton e79079dfbf Commit missing piece of code, I had written them before the first commit.
svn path=/trunk/boinc/; revision=19165
2009-09-25 16:57:24 +00:00
David Anderson 348f6e6db8 - scheduler: fix app_plan() bug, improve ATI-related msgs
svn path=/trunk/boinc/; revision=19164
2009-09-25 16:35:43 +00:00
Rom Walton 8c283226c3 - lib: fix build break.
lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=19163
2009-09-25 16:10:18 +00:00
Rom Walton ad455ab09d - client: Add support for checking for both amd* prefixed CAL libraries
and ati* prefixed CAL libraries.
    - scheduler: redefine ati class plans again.
        ati: CAL 1.0+, amd* prefixed libraries
        ati13amd: CAL 1.3+, amd* prefixed libraries
        ati13ati: CAL 1.3+, ati* prefixed libraries
        ati14: CAL 1.4+, ati* prefixed libraries

    sched/
        sched_customize.cpp
    lib/
        coproc.cpp, .h

svn path=/trunk/boinc/; revision=19162
2009-09-25 15:40:16 +00:00
Bruce Allen c62cc0739c From Oliver Bock: ipc: write and parse APP_INIT_DATA "hostid"
svn path=/trunk/boinc/; revision=19161
2009-09-25 10:47:23 +00:00
David Anderson cfcfeffd21 - client: for ATI enumeration, use only aticalrt.dll
(amdcalrt.dll is old version w/ funky DLL names)
- client: make GPU enumeration warnings more consistent
    (e.g., "NVIDIA" instead of "CUDA").
- scheduler: get rid of ati13 plan class.
    Require 1.4+ driver for plan class ati.

svn path=/trunk/boinc/; revision=19158
2009-09-24 18:33:40 +00:00
David Anderson 39815033a3 - client: in GPU enumeration, separate warning msgs from GPU descriptions.
Show warning msgs only if log_flags.coproc_debug

svn path=/trunk/boinc/; revision=19153
2009-09-24 17:23:33 +00:00
David Anderson 2e702db323 - client/API: add autosetup proxy info to init_data.xml
svn path=/trunk/boinc/; revision=19090
2009-09-18 16:30:25 +00:00