Commit Graph

2028 Commits

Author SHA1 Message Date
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
David Anderson 41e3b06b23 - client and scheduler RPC: add optional <cpu_backoff>, <cuda_backoff>,
and <ati_backoff> elements to scheduler reply.
    These specify backoffs for the resource types,
    overriding the existing backoff mechanism.
    Projects can supply these if they don't have apps of a particular type
    and don't want to get periodic requests for them.

svn path=/trunk/boinc/; revision=19059
2009-09-16 17:34:19 +00:00
Charlie Fenton d6fa3f4f22 client: don't display processor cache if we don't know it; skip ATI stuff on Macs.
svn path=/trunk/boinc/; revision=19040
2009-09-10 22:06:20 +00:00
David Anderson f5a6f862bf - client: fix bug in RR simulation:
start only enough jobs to fill CPUs per project,
    not all the CPU jobs at once.
    I'm not sure how much difference this makes,
    but this is how it's supposed to work.
- client: if app_info.xml doesn't specify flops,
    use an estimate that takes GPUs into account.
- client: if it's been more than 2 weeks since time stats update,
    don't decay on_frac at all.

svn path=/trunk/boinc/; revision=19035
2009-09-09 22:18:02 +00:00
David Anderson 9d38ecb835 svn path=/trunk/boinc/; revision=19029 2009-09-08 19:30:06 +00:00
David Anderson b129e71f20 - client: add code for faking ATI GPUs
svn path=/trunk/boinc/; revision=19024
2009-09-08 18:42:24 +00:00
Eric J. Korpela e82aad226a Another build fix. This may break appication build if the apps depend upon
boinc_crypt.la to supply the CURL library names.


svn path=/trunk/boinc/; revision=18976
2009-09-01 22:30:56 +00:00
David Anderson 1f7dec108a - client:
- remove HTTP_OP::pi; just use gstate.proxy_info
    - remove HTTP_OP::set_proxy()
    - remove PROXY_INFO::operator=; struct assignment works

svn path=/trunk/boinc/; revision=18973
2009-09-01 16:41:48 +00:00
Rom Walton cd62dbb912 svn path=/trunk/boinc/; revision=18972 2009-09-01 16:17:28 +00:00
Rom Walton ea0ab71e45 - client: autoproxy detection should happen at startup too.
- client: when autoproxy detection is in progress don't attempt to use
        old values
    - client: user defined proxies should take presidence over automatically
        detected ones.
    - lib: Re-implement the assignment operator for proxy_info, http_curl.cpp
        uses it to clone the proxy information for each http op.  See set_proxy();

    client/
        client_state.cpp
        http_curl.cpp
        net_stats.cpp
    lib/
        proxy_info.cpp, .h

svn path=/trunk/boinc/; revision=18971
2009-09-01 16:01:30 +00:00
Eric J. Korpela 0f595f8857 Fixed problem that prevented stack backtrace from being printed after segfault
on linux.


svn path=/trunk/boinc/; revision=18959
2009-08-31 23:04:01 +00:00
David Anderson 0af302a308 - compile fixes
svn path=/trunk/boinc/; revision=18943
2009-08-28 23:02:15 +00:00
David Anderson 2039e67638 - client: NVIDIA offers an API which tells you whether a GPU
is running a graphics application.
    Change the semantics of the "don't use GPU while computer in use" pref
    to "don't use a GPU that's running a graphics app while
    computer is in use".
    This will increase GPU utilization on multi-GPU systems.

svn path=/trunk/boinc/; revision=18942
2009-08-28 22:55:04 +00:00
David Anderson 607119dcbf - fixes to proxy autodetect
svn path=/trunk/boinc/; revision=18941
2009-08-28 21:25:13 +00:00
David Anderson 8728c04983 - reverted changes to PROXY_INFO which broke various things
svn path=/trunk/boinc/; revision=18936
2009-08-28 17:14:37 +00:00
David Anderson 84f794e48f svn path=/trunk/boinc/; revision=18916 2009-08-25 21:35:21 +00:00
David Anderson dbd7b8b8e9 - client: when writing XML, entity-encode the following fields:
FILE_INFO::url
    HOST_INFO::p_vendor, p_model, p_features, os_name, os_version

    The following fields are already entity-encoded:
    PROJECT::user_name, team_name
    APP_INIT_DATA::user_name, team_name
    PROXY_INFO:: user names and passwds

    These are (as far as I know) the only fields that can
    contain special chars.
    This is now documented in:
    http://boinc.berkeley.edu/trac/wiki/XmlNotes
- client: XML_PARSER::parse_str() now does xml_unescape(),
    same as ::parse_str().


svn path=/trunk/boinc/; revision=18915
2009-08-25 21:32:39 +00:00
David Anderson 9a8f91fb1e - client: in parsing <coproc> elements in <app_version>,
use a new type COPROC_REQ for which the count field is a double.
    Otherwise fractional GPU jobs don't work.

svn path=/trunk/boinc/; revision=18906
2009-08-24 23:16:17 +00:00
David Anderson b3d0249ade - client: use the right library name for ATI on Linux
- client: check return values from ATI device detection functions

svn path=/trunk/boinc/; revision=18905
2009-08-24 21:41:48 +00:00
David Anderson d14527f79d - update_versions: if app version files already exist in download dir,
make sure they're the same (i.e., enforce file immutability).
    TODO: do this for input files too
- client: check return values from CUDA device detection functions

svn path=/trunk/boinc/; revision=18903
2009-08-24 19:08:05 +00:00
David Anderson 563a55f37e - client/libs/samples: remove "#define read _read" etc. from boinc_win.h
These cause problems when "read" is a member name, etc.
		Do these #defines, conditioned on _MSC_VER,
		in the files that actually need them.
	- don't include boinc_win.h from parse.h.
		principle of minimal inclusion

svn path=/trunk/boinc/; revision=18902
2009-08-22 17:00:19 +00:00
Charlie Fenton 02d8176505 Mac client: use rss keyword not rsz in ps command for OS 10.6 compatibility.
svn path=/trunk/boinc/; revision=18900
2009-08-21 22:28:38 +00:00
David Anderson f8977c52e7 - fixes to coproc stuff
svn path=/trunk/boinc/; revision=18881
2009-08-19 23:47:07 +00:00
David Anderson f1360e5971 - client: finish the implementation of fractional coproc jobs.
- different data structure for keeping track of coproc usage;
        instead of COPROC having per-instance pointers to ACTIVE_TASK,
        ACTIVE_TASK now has an array of device number indices
        for each instance that it's using.
    - in enforce_schedule(), we call a new function assign_coprocs()
        that decides what coproc instances each job will use,
        and prunes jobs for which we can't get an assignment.
        This function embodies lots of subtlety.
    - coproc_cmdline() no longer deals with reserving instances;
        it just has to generate the --device X cmdline

svn path=/trunk/boinc/; revision=18880
2009-08-19 23:21:55 +00:00
David Anderson 091dba7a65 svn path=/trunk/boinc/; revision=18874 2009-08-19 20:33:04 +00:00
David Anderson 073e6ded2c - client and scheduler: lay the groundwork for "fractional coproc jobs",
e.g. the Milkyway@home ATI app, of which we can typically run
    2 or 3 instances at once on a GPU.
    Changes include:
    - In APP_VERSION, don't use a COPROCS to represent the GPU
        requirements; just use doubles ncudas and natis.
    - sufficient_coprocs() etc. are no longer members of COPROCS
    - in HOST_USAGE, ncudas and natis are doubles
    - in scheduler request, req_instances is now a double

    This checkin doesn't include the job scheduling logic,
    i.e. assigning jobs to GPUs.  That will follow.

svn path=/trunk/boinc/; revision=18868
2009-08-19 18:41:47 +00:00
David Anderson 12d4b978be - scheduler: if client request uses a weak authenticator,
don't modify user preferences or CPID.
- client: fix bug that shows ATI version incorrectly
- database: host.posts has been repurposed as a salt (or seqno)
    for a new type of weak authenticator that won't depend on password
- web code:
    modify forum_preferences.posts instead of host.posts.
    (actually, the former isn't used either, we just do a select count(*);
    should fix this at some point).

svn path=/trunk/boinc/; revision=18865
2009-08-18 20:44:12 +00:00
David Anderson 208f53a51d - client/manager: add ATI stuff to GUI RPCs and manager display
svn path=/trunk/boinc/; revision=18853
2009-08-17 21:11:06 +00:00
David Anderson 152ee20b17 - client: fix calculation of ATI flops
svn path=/trunk/boinc/; revision=18852
2009-08-17 17:27:06 +00:00
David Anderson c3fe504e1d - client: add ATI support to job scheduling and work fetch
svn path=/trunk/boinc/; revision=18850
2009-08-17 16:50:40 +00:00
David Anderson 8df1e1ebb3 - client: ATI tweaks
svn path=/trunk/boinc/; revision=18849
2009-08-16 04:02:11 +00:00
David Anderson 4eb7097653 compile fixes
svn path=/trunk/boinc/; revision=18848
2009-08-15 00:12:51 +00:00
David Anderson 3b03707efa - client: clean up ATI code and make it work (or at least compile)
under Linux

svn path=/trunk/boinc/; revision=18847
2009-08-15 00:00:57 +00:00
David Anderson 602ad0b5b7 - client: ATI GPU detection code (from Crunch3r)
svn path=/trunk/boinc/; revision=18846
2009-08-14 22:54:34 +00:00
David Anderson 230760136c svn path=/trunk/boinc/; revision=18835 2009-08-13 16:17:26 +00:00
David Anderson 3864d5c99c - GUI RPC: fix memory leak in authorize()
svn path=/trunk/boinc/; revision=18833
2009-08-13 05:08:07 +00:00
Rom Walton 16156838c5 - client: Second pass through the automatic proxy detection code.
During the first pass we learned that the whole process of
        proxy detection on Win XP machines could take a few seconds
        even with no proxies to be detected, now the proxy detection
        code is executed in the same thread that is monitoring for
        power change events.
        
    client/
        cs_cmdline.cpp
        http_curl.cpp
        http_curl.h
        http_curl_win.h
        net_stats.cpp
        sysmon_win.cpp, .h
    lib/
        parse.cpp, .h
        proxy_info.cpp, .h

svn path=/trunk/boinc/; revision=18819
2009-08-07 18:16:21 +00:00
Charlie Fenton 1c5cfe55d7 MGR: Implement "Show active tasks / Show all tasks" button
svn path=/trunk/boinc/; revision=18816
2009-08-07 08:33:31 +00:00
Charlie Fenton 338a36ab93 Mac client: prevent crash and show warning message if CUDA driver version < 2.3.
svn path=/trunk/boinc/; revision=18815
2009-08-04 22:38:55 +00:00
David Anderson 786f61cfbe - file upload handler: don't treat zero-length file as an error!
(This bug has been there since 28 Oct 2004)
- GUI RPC and manager: include project backoff in FILE_TRANSFER,
    so that manager gets up-to-date value


svn path=/trunk/boinc/; revision=18786
2009-07-31 19:46:47 +00:00
David Anderson ad3dd04e2a slight code cleanup
svn path=/trunk/boinc/; revision=18785
2009-07-30 22:23:49 +00:00
Rom Walton fec945221e - client: Initial swipe at automatic proxy server configuration
detection on Windows.  Fixes #35
        
    client/
        cs_cmdline.cpp
        http_curl.cpp
        http_curl.h
    lib/
        boinc_win.h
        proxy_info.cpp
        proxy_info.h
        util.cpp
        win_util.h

svn path=/trunk/boinc/; revision=18772
2009-07-29 23:50:00 +00:00
David Anderson 0f6ae8e58b svn path=/trunk/boinc/; revision=18771 2009-07-29 21:35:09 +00:00
David Anderson 94e75fd4b1 svn path=/trunk/boinc/; revision=18770 2009-07-29 21:21:52 +00:00
David Anderson ff5d082e86 - client: to enumerate CUDA devices, use the functions in libcuda.so
(which ships with driver) rather than libcudart.so
    (this eliminates the need to bundle libcudart.so with the client)
    The functions are documented here:
    http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/online/index.html


svn path=/trunk/boinc/; revision=18769
2009-07-29 19:24:28 +00:00
Eric J. Korpela eb0dbd92a2 Fix for build of fcgi_file_upload_handler
svn path=/trunk/boinc/; revision=18739
2009-07-27 20:54:15 +00:00
Rom Walton bb2d95953c - lib: revert previous commit, things in lib end up being linked
into project applications, projects may want to continue
        supporting Win9x.
        
    lib/
        win_util.cpp, .h

svn path=/trunk/boinc/; revision=18718
2009-07-25 03:51:18 +00:00
Rom Walton dca67408fd - lib: more code cleanup
lib/
        win_util.cpp, .h

svn path=/trunk/boinc/; revision=18717
2009-07-25 02:27:42 +00:00
David Anderson f422ce79de svn path=/trunk/boinc/; revision=18663 2009-07-22 22:33:36 +00:00
David Anderson a4e82069d6 - client: add a bunch of debugging messages (<task_debug>)
for showing how GPU instances are being reserved
- scheduler: add "sse3" plan class example
- web: add option (NO_TEAMS constant) for suppressing teams

svn path=/trunk/boinc/; revision=18658
2009-07-22 18:41:02 +00:00
David Anderson 8cee2998ce - lib: gcc 4.4 fix; fixes #854
svn path=/trunk/boinc/; revision=18633
2009-07-20 21:53:56 +00:00
David Anderson dfb1fdb034 - client/manager/GUI RPC: show project-level backoffs
svn path=/trunk/boinc/; revision=18603
2009-07-16 18:36:23 +00:00
Eric J. Korpela 720fa9a3cb - libraries: Moved crypt.o out of libboinc and into libboinc_crypt.
Applications that need crypt.o will need to explicitly link
      libboinc_crypt.


svn path=/trunk/boinc/; revision=18595
2009-07-14 17:50:33 +00:00
David Anderson 51ca17796b - client: if malloc fails in MFILE writes, exit.
We don't check the return values of printf() anywhere,
    and it's dangerous for the client to continue if it
    thinks something got written that didn't.
    Fixes #281

svn path=/trunk/boinc/; revision=18594
2009-07-10 22:59:45 +00:00
David Anderson 114ba8111d compile fixes
svn path=/trunk/boinc/; revision=18589
2009-07-08 22:49:30 +00:00
David Anderson 43231a8dbb svn path=/trunk/boinc/; revision=18588 2009-07-08 19:33:27 +00:00
David Anderson 9ec90c409e - GUI RPC: add get_message_seqno() RPC. fixes #931
svn path=/trunk/boinc/; revision=18576
2009-07-07 22:58:58 +00:00
David Anderson 1dba786d7b - API: add boinc_elapsed_time() to get elapsed time since start of episode;
add APP_INIT_DATA::starting_elapsed_time to get
    elapsed time from previous episodes

svn path=/trunk/boinc/; revision=18535
2009-07-01 17:35:56 +00:00
David Anderson 6a513e76a7 fixes to my last checkin
svn path=/trunk/boinc/; revision=18533
2009-06-30 20:42:25 +00:00
Rom Walton 7546b0fe72 - MGR: Previous sorting method wasn't working, use a sort
function pointer instead.
        
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=18532
2009-06-30 20:39:10 +00:00
David Anderson 46d9e8f087 - client: record the time results are received.
Process non-EDF GPU jobs in this order.


svn path=/trunk/boinc/; revision=18531
2009-06-30 20:22:54 +00:00
Rom Walton ed2df38f4e Group project list structures together.
svn path=/trunk/boinc/; revision=18530
2009-06-30 19:55:28 +00:00
Rom Walton d631a3c485 - MGR: Remove project list randomization, sort on name.
lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=18529
2009-06-30 18:54:52 +00:00
David Anderson a71a03f698 - Mac install: fix things a better way
- install: don't install internal .h files
- scheduler: fix spurious "reached limit of 0 GPU tasks" message,
    slight code cleanup

svn path=/trunk/boinc/; revision=18480
2009-06-22 21:11:19 +00:00
David Anderson 9527cb6534 - install: don't install std_fixes.h or msg_queue.cpp
- remove some unused code
- scheduler: small code cleanup

svn path=/trunk/boinc/; revision=18465
2009-06-19 17:21:34 +00:00
David Anderson 5613634c3a - compile fixes for Linux
svn path=/trunk/boinc/; revision=18440
2009-06-16 22:17:04 +00:00
David Anderson 0b3ce504ff - Win: compile fixes
svn path=/trunk/boinc/; revision=18439
2009-06-16 21:58:38 +00:00
David Anderson 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
David Anderson dfaf0023d4 - build system: don't install config.h
svn path=/trunk/boinc/; revision=18430
2009-06-16 19:28:08 +00:00
David Anderson 0939ec0d3a - don't include config.h from parse.h
- manager: compile fix


svn path=/trunk/boinc/; revision=18429
2009-06-16 19:22:11 +00:00
David Anderson d7aacaac32 - don't include config.h from network.h (Gabor Gombas)
svn path=/trunk/boinc/; revision=18428
2009-06-16 18:51:33 +00:00
Rom Walton 734db62fb4 - MGR: Fix browser cookie detection on Windows machines where UAC is turned
on.  It appears it has never worked, and I imagine it would effect
        70% of our Windows Vista and Windows 7 user base.

    clientgui/
        browser.cpp
    lib/
        miofile.cpp, .h

svn path=/trunk/boinc/; revision=18409
2009-06-13 21:03:45 +00:00
Rom Walton 674437a3bc - MGR: Introduce the cookie detection failure URL to the
acct_mgr_logon.xml file. If the cookies cannot be found provide
        a hyperlink control on the AcctountInfo page in the wizard
        which will point to a fallback URL the user can go to to
        find out what logon credentials to use.
        
    client/
        acct_mgr.cpp, .h
        gui_rpc_server_ops.cpp
    clientgui/
        AccountInfoPage.cpp, .h
        BOINCWizards.h
        WizardAttachProject.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=18400
2009-06-12 21:34:33 +00:00
Charlie Fenton b544a24a74 Mac MGR: strip /n from command field of PROCINFO struct to fix <exclusive_app>; KillClient() gets pid from procinfo_setup() except on Windows; restore boinc.jpg file
svn path=/trunk/boinc/; revision=18385
2009-06-12 00:42:09 +00:00
Rom Walton 267b2b2cf8 Fix build break
svn path=/trunk/boinc/; revision=18365
2009-06-11 02:14:36 +00:00
Charlie Fenton dfc0bb3184 lib: FILE_LOCK::lock() makes lockfile group-writable so both client and manager can create and write it under sandbox security
svn path=/trunk/boinc/; revision=18340
2009-06-09 18:46:47 +00:00
Rom Walton 09a2564058 - DIAG: Policy change: Only include the BOINC symbol store for BOINC
binaries.  The old policy was kept around as a backwards compatibility
        thing before a new flag was added to the diagnostics to identify
        project applications.
        
    lib/
        stackwalker_win.cpp

svn path=/trunk/boinc/; revision=18339
2009-06-09 17:30:39 +00:00
David Anderson ca44344068 - GUI RPC: include hostid in PROJECT
- web: include timed-out and "client detached" results in error category


svn path=/trunk/boinc/; revision=18330
2009-06-08 17:08:52 +00:00
Charlie Fenton 39c7422457 lib: Fix compiler error on Windows
svn path=/trunk/boinc/; revision=18324
2009-06-08 07:20:17 +00:00
Charlie Fenton c814ae229a lib: Fix FILE_LOCK::unlock() to reset fd to -1 so FILE_LOCK works correctly with repeated calls.
svn path=/trunk/boinc/; revision=18320
2009-06-07 00:29:35 +00:00
David Anderson 7efa2d3326 - lib: fix compile warning
svn path=/trunk/boinc/; revision=18309
2009-06-04 23:03:47 +00:00
David Anderson 2d058c5cb4 - GUI RPC: add active_only option to get_results() RPC
svn path=/trunk/boinc/; revision=18304
2009-06-04 17:59:04 +00:00
David Anderson ad254db549 - fix to the above
svn path=/trunk/boinc/; revision=18290
2009-06-04 05:18:43 +00:00
Charlie Fenton 5c81b4a1ff - client: Fix missing argument in printf statements
svn path=/trunk/boinc/; revision=18288
2009-06-04 00:44:58 +00:00
David Anderson 310c72c01f - client: include device number in message describing NVIDIA GPU,
and call it "NVIDIA GPU" rather than "CUDA device"
    fixes #879


svn path=/trunk/boinc/; revision=18277
2009-06-03 20:29:49 +00:00
David Anderson 44c02144e9 - lib: return proper error codes from boinc_rename() and boinc_mkdir()
- client: Haiku support (from Urias McCullough)
- client: include plan class in other_result list in sched request
    (for resource-specific jobs-in-progress limit)

svn path=/trunk/boinc/; revision=18250
2009-05-31 16:38:37 +00:00
David Anderson e31927218a - compile fixes for Haiku
svn path=/trunk/boinc/; revision=18214
2009-05-28 03:54:47 +00:00
David Anderson 97d50e12b9 - compile fixes for Haiku
svn path=/trunk/boinc/; revision=18213
2009-05-27 23:36:55 +00:00
David Anderson 3d129f9788 - lib: compile fix for C
svn path=/trunk/boinc/; revision=18212
2009-05-27 17:23:08 +00:00
David Anderson 3de3a033d1 svn path=/trunk/boinc/; revision=18211 2009-05-26 22:57:03 +00:00
David Anderson 7ff687998f - fix display problem when talking to old clients
svn path=/trunk/boinc/; revision=18197
2009-05-23 00:16:05 +00:00
Rom Walton 03fb7929c9 - MGR: Fix bug where there was no trailing backslash before
'symbols' was appended to the end of the symbol path.  This
        caused the stack tracing code not to download the actual
        symbol files needed to debug a problem.  I have no idea
        when this bug was introduced.
        
    lib/
        stackwalker_win.cpp

svn path=/trunk/boinc/; revision=18172
2009-05-20 21:48:09 +00:00
Charlie Fenton 1eb1330ed4 Fix compiler warning
svn path=/trunk/boinc/; revision=18111
2009-05-15 08:13:56 +00:00
Charlie Fenton 8d8bf6f0c0 MGR: Merge "Attach to account manager" functionality into "Attach to project" wizard; Synchronize and Remove Acct Mgr not yet merged.
svn path=/trunk/boinc/; revision=18088
2009-05-13 12:42:05 +00:00
Bernd Machenschalk 097a70d308 <cstdio> is a C++ haeder - moved it to __cplusplus section (lib/filesys.h)
svn path=/trunk/boinc/; revision=18044
2009-05-07 14:25:05 +00:00
David Anderson 12eb6057e5 - client, Mac: don't do res_init(). It causes a crash.
- client (Unix): if client crashes while benchmark processes are going,
    make sure they detect this and exit.
- back-end programs: remove hardwired assumptions about
    what directory they run in, and hence where config.xml is.
    E.g., daemons look for it in "..", others expect it in current dir.
    New approach: all the programs look for the project dir as follows:
    1) the environment var BOINC_PROJECT_DIR, if defined
    2) the current dir, if config.xml is there.
    3) else ".."
    This means you can run programs in either proj/bin/ or proj/,
    or (using BOINC_PROJECT_DIR) you can keep executables
    outside of the project dir.


svn path=/trunk/boinc/; revision=18042
2009-05-07 13:54:51 +00:00
David Anderson e84b1f189e - client: view 2 GPUs as equivalent if their memory differs by <30%.
(maybe their memory differed slightly from the most capable one)

svn path=/trunk/boinc/; revision=17987
2009-05-04 02:22:25 +00:00
Rom Walton 2ed310e1c4 Quick Updates
svn path=/trunk/boinc/; revision=17969
2009-05-01 22:57:00 +00:00
David Anderson ad6a61a3a6 - sample bitwise validator: make it work for binary files
fixes #886, #887

svn path=/trunk/boinc/; revision=17966
2009-05-01 18:25:17 +00:00
David Anderson fba2e5ee3d - Changes to get the client to build on IRIX:
don't use the variable name "sgi";
    include <xxx.h> instead of <cxxx>; the latter just adds
    overloaded functions that we avoid.

svn path=/trunk/boinc/; revision=17954
2009-04-30 21:48:20 +00:00
David Anderson e3a730c334 - client: add <use_all_gpus> config option. If set, use GPUs
even if they're not equivalent to the most capable one.
- Validator: fix one_pass_N_WU option.

svn path=/trunk/boinc/; revision=17896
2009-04-27 23:51:46 +00:00
David Anderson c883214eb9 - fix typo in compare_cuda()
svn path=/trunk/boinc/; revision=17876
2009-04-24 14:20:02 +00:00
David Anderson 3cb983f1c5 - client: tweak to 4/21 checkin.
After finding the "most capable" GPU,
    ignore FLOPS in deciding what GPUs are equivalent to it.
    This opens up the possibility that the client will get jobs
    that it won't be able to finish in time.
    But it still avoids getting jobs that will crash.

svn path=/trunk/boinc/; revision=17875
2009-04-24 10:56:35 +00:00
Rom Walton 28c72cab79 - WIN: First pass through the code to fix compliation errors when
building in a Unicode enabled environment.
        
        NOTE: For files that are shared between the core client and
          the manager, it was simpliar to just call the ANSI versions
          of the specific Windows API functions then to monkey with
          all of the string handling code and convert between ANSI
          and UCS-2 strings.  CreateFile becomes CreateFileA instead
          of the default of CreateFileW.
          
        Down to 11 compile time errors from over 100.

    clientgui/
        BOINCBaseFrame.cpp
        BOINCTaskBar.cpp
        browser.cpp
        browser.h
        sg_StatImageLoader.cpp
    lib/
        boinc_win.h
        diagnostics_win.cpp
        filesys.cpp
        gui_rpc_client_ops.cpp
        proc_control.cpp
        stackwalker_imports.h
        stackwalker_win.cpp
        str_util.cpp
        util.cpp
        win_util.cpp, .h

svn path=/trunk/boinc/; revision=17859
2009-04-23 03:40:49 +00:00
David Anderson f9e1c98921 - client: fix crash bug in CUDA init
svn path=/trunk/boinc/; revision=17856
2009-04-22 03:59:39 +00:00
David Anderson 5adb25381d - client: new approach to handling multiple GPUs.
old: find fastest GPU, and pretend that others are the same.
            Problem: other GPUs might be less capable,
            and not able to handle jobs sent by server.
        new: find the most "capable" GPU, use others that are equivalent,
            don't use those that are not.
            "Capable" is defined by
            - compute capability (i.e., hardware version)
            - driver version
            - memory size
            - FLOPs
            in that priority order.
        See comments in lib/coproc.h

svn path=/trunk/boinc/; revision=17855
2009-04-22 02:09:53 +00:00
David Anderson 90f863f08c - partial checkin so I can edit locally (bad network connection)
svn path=/trunk/boinc/; revision=17852
2009-04-21 08:11:28 +00:00
David Anderson 5a88fb4028 svn path=/trunk/boinc/; revision=17848 2009-04-20 00:09:29 +00:00
David Anderson c58136e5bf - client: improve CPU sched debug messages
(say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes #879

svn path=/trunk/boinc/; revision=17847
2009-04-20 00:00:11 +00:00
David Anderson 31b929ed67 - Unix build: make it work if "diff" is missing (??)
from Michael Tughan

svn path=/trunk/boinc/; revision=17821
2009-04-15 20:46:12 +00:00
David Anderson 72a59f0527 - client: put back the call to res_init() on lookup failure.
Apparently it worked after all.

svn path=/trunk/boinc/; revision=17793
2009-04-12 15:30:45 +00:00
David Anderson 87d50be302 - GUI RPC and manager: send slot and show it in task properties
rather than slot path
    (slot_path is defined only for apps with graphics app).

svn path=/trunk/boinc/; revision=17786
2009-04-10 19:18:44 +00:00
David Anderson cf638ae3a6 - client: instead of scheduling coproc jobs EDF:
- first schedule jobs projected to miss deadline in EDF order
    - then schedule remaining jobs in FIFO order
    This is intended to reduce the number of preemptions of coproc jobs,
    and hence (since they are always preempted by quit)
    to reduce the wasted time due to checkpoint gaps.
- client: the CPU scheduling policy made use of the number
    of deadline misses in various places.
    This should include only the deadline misses of CPU jobs.
    So move "deadlines_missed" from RR_SIM_STATUS and PROJECT
    to RSC_PROJECT_WORK_FETCH so that we have separate counts
    for CPU and coproc jobs, and use the count for CPU jobs.
- GUI RPC: removed the rr_sim_deadlines_missed field
    from project descriptor.
    This is no longer meaningful, and it didn't seem to be used anywhere.

svn path=/trunk/boinc/; revision=17785
2009-04-10 19:01:38 +00:00
Charlie Fenton 930d3c08a3 Mac client: fill in command field of PROCINFO struct more efficiently
svn path=/trunk/boinc/; revision=17775
2009-04-10 01:09:58 +00:00
Charlie Fenton dab27897c2 Mac client: fill in command field of PROCINFO struct so <exclusive_app> log flag works properly on Mac.
svn path=/trunk/boinc/; revision=17760
2009-04-09 10:41:11 +00:00
David Anderson f3e362097e - client: back out res_init() change; it didn't work
svn path=/trunk/boinc/; revision=17758
2009-04-09 04:41:41 +00:00
David Anderson 9f33d4db27 - web and client: change the default for "run_gpu_if_user_active"
from true to false.
    Currently running CUDA apps on NVIDIA GPUs causes
    a significant slowdown in GUI response.


svn path=/trunk/boinc/; revision=17740
2009-04-07 18:21:39 +00:00
David Anderson bc889ca27a - client: (unix): if host name lookup fails, call res_init().
This is an attempt to fix a problem on Linux where,
    if the client starts before a VPN is set up, it can never communicate

svn path=/trunk/boinc/; revision=17711
2009-03-31 16:45:17 +00:00
David Anderson 84ee96e04e - GUI RPC: client side: if parse a RESULT and CPU is nonzero
but elapsed time is zero, we must be talking to an old client;
    set elapsed = CPU

svn path=/trunk/boinc/; revision=17704
2009-03-30 18:45:32 +00:00
Charlie Fenton 8784e2126c Update a comment.
svn path=/trunk/boinc/; revision=17692
2009-03-29 00:26:30 +00:00
David Anderson 338c751d5c - compile fix
svn path=/trunk/boinc/; revision=17682
2009-03-27 21:03:41 +00:00
Charlie Fenton a20e70fc62 Better support if platforms don't have per-thread locale; ensure Mac BOINC libraries build OK using config/make; fix Mac build breaks for example_app.
svn path=/trunk/boinc/; revision=17677
2009-03-27 05:25:58 +00:00
Charlie Fenton 2a251d4daf Fix compile break on Windows
svn path=/trunk/boinc/; revision=17663
2009-03-26 16:10:17 +00:00
Charlie Fenton 78ecec4b16 MGR: SET_LOCALE constructor, destructor change locale only if no per-thread locale, XCode project supports weak-linking of uselocale()
svn path=/trunk/boinc/; revision=17662
2009-03-26 16:05:57 +00:00
Charlie Fenton a402e3f19a MGR: Remove erroneous call of locale in main thread; set locale only on a per-thread basis
svn path=/trunk/boinc/; revision=17661
2009-03-26 01:22:35 +00:00
David Anderson c1dce6425e - small code shuffle
- fix manager build on unix

svn path=/trunk/boinc/; revision=17650
2009-03-24 17:18:09 +00:00
David Anderson 5e8237aa56 - client (linux): if don't find libcudart.so in the current dir,
look for it in the library search path.  Fixes #863

svn path=/trunk/boinc/; revision=17648
2009-03-23 19:25:38 +00:00
David Anderson ae90eb4865 - API: more lockfile messages
svn path=/trunk/boinc/; revision=17647
2009-03-23 17:26:20 +00:00
David Anderson 6c4cc20aa1 - API: don't try to unlock lockfile if we failed to lock it
- API: more detailed message if failed to lock

svn path=/trunk/boinc/; revision=17645
2009-03-23 17:00:34 +00:00
David Anderson dfc62d896d - Manager: show elapsed time instead of CPU time in Task tab.
CPU time is visible in task Properties.
- Manager: in task Properties, show final CPU and elapsed times
    if job is finished
- client: honor backoff for account-manager-requested scheduler RPCs
- client: keep track final elapsed time for results
- GUI RPC: report final elapsed time

svn path=/trunk/boinc/; revision=17588
2009-03-11 22:01:38 +00:00
David Anderson cd4786166a - client: fix crash
svn path=/trunk/boinc/; revision=17550
2009-03-06 23:27:19 +00:00
David Anderson e1b94a1e53 - client: add a new mechanism for assigning coproc instances to tasks,
and passing them the corresponding --device N cmdline args.
    This fixes a bug introduced in 17402 (Feb 26)
    that broke the --device feature,
    presumably causing problems on systems with multiple GPUs.

svn path=/trunk/boinc/; revision=17549
2009-03-06 23:10:45 +00:00
David Anderson c22b62f25b - scheduler: fix bugs in support for anonymous platform + coprocs
(app versions don't have a <coprocs> around coproc elements,
    may an oversight but let's stick with it).
    Anyway, I think it's working now.
- lib: remove "owner" array from COPROC.
    This was used in client to keep track of assignment of
    coprocessors to tasks, but we got rid of the reserve/free scheme.
    NOTE: this breaks the mechanism for passing --device N to apps;
    I'll have to do this another way.  Stay tuned.

svn path=/trunk/boinc/; revision=17543
2009-03-06 22:21:47 +00:00
Charlie Fenton 2a18a8abeb client: Revise Apple idle time detection for compatibility with OS 10.6
svn path=/trunk/boinc/; revision=17432
2009-03-03 01:57:48 +00:00
David Anderson 63dfde353e svn path=/trunk/boinc/; revision=17421 2009-03-02 17:57:57 +00:00
David Anderson 7b10a4649a - manager and GUI RPC: always show resource debt and backoff even if zero;
also show backoff interval

svn path=/trunk/boinc/; revision=17419
2009-03-02 00:12:50 +00:00
David Anderson feab684b3d - client: abort jobs that are unstarted and past deadline
- client: abort runaway jobs based on elapsed time instead of CPU time.
    Specifically, abort jobs for which
    elapsed time > WU.rsc_fpops_bound / app_version.flops
    This policy works for
    1) GPU jobs (which may use little CPU time)
    2) jobs that run but because of bugs use little CPU time
        (e.g., because they're sleeping)
    whereas the old policy didn't.

svn path=/trunk/boinc/; revision=17399
2009-02-26 17:51:38 +00:00
Charlie Fenton 5f6aaf5d08 Fix a compiler error and a compiler warning
svn path=/trunk/boinc/; revision=17394
2009-02-26 02:31:33 +00:00
Eric J. Korpela 8f3abcc835 - Added checks for net/*.h, arpa/*.h, netinet/*.h and code to figure out
which of those files to include
    - Modified MAC address check to work on some non-Linux unixes.
      (mac_address.cpp)
    - Added suggested change to "already attached to project" checking.
      (ProjectInfoPage.cpp)
    - changed includes of standard c header files to their c++ equivalents
      (i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
    - replaced "using namespace std;" with more explicit "using std::function" in
      several files.
    - Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
      to the build environment. (boinc_platform.m4,configure.ac)
    - Changed build environment to not use -nostandardlibs unless we are using
      G++ and static linkage is specified. (configure.ac)
    - Added makefiles and package building files for solaris CSW package manager.
    - Fixed bug with attempting to find login name using logname. (configure.ac)
    - Added ifdef HAVE_* protection around some include files commonly found in
      sys.
    - Added support for unified binary for x86_64/i686-pc-solaris.
      (cs_platforms.cpp)
    - generate_host_cpid() now uses MAC address on non-linux unix.
      (hostinfo_network.cpp)
    - Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
      compilers. (boinc_set_compile_flags.m4)
    - Library compiles no longer depend upon the library extension or require
      the library to be prefixed with lib.
    - More fixes for fcgi builds.
    - Added declaration of "struct ether_addr" and ether_ntoa().  Have not yet
      implemented ether_ntoa() for machines that don't have it, or where it is
      buggy.  (unix_util.h)
    - Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
    - Fixed library Makefiles so that all required headers get installed.


svn path=/trunk/boinc/; revision=17388
2009-02-26 00:23:23 +00:00
David Anderson de2bacab35 - boinccmd: fix bug in --set_proxy_settings command
(it wasn't setting the "use_XXX" flags).  Fixes #776
- client: you can now include a <proxy_info> element
    in your cc_config.xml options.

TODO: the whole proxy info thing needs an overhaul:
- no separate "use_XXX" flags;
    non-empty http_server_name implies using HTTP proxy, etc.
- merge PROXY_INFO and GR_PROXY_INFO classes
- use XML_PARSER for parsing
- no PROXY_INFO element in HTTP_OP; just use gstate.proxy_info

svn path=/trunk/boinc/; revision=17379
2009-02-25 19:18:41 +00:00
David Anderson 3709c1e9f4 - scheduler: include driver version in the CUDA description string
storing in the database;
- web: display the above

svn path=/trunk/boinc/; revision=17341
2009-02-24 00:06:45 +00:00
David Anderson 16ca7cd359 svn path=/trunk/boinc/; revision=17332 2009-02-22 04:05:34 +00:00
David Anderson 442a54b30c compile fixes
svn path=/trunk/boinc/; revision=17301
2009-02-18 21:21:12 +00:00
David Anderson 3e98909ab6 - client: adjust debts at least every minute.
This fixes a bug that can cause debts to NEVER get updated.
- client: added "abort_jobs_on_exit" feature
    (available by --abort_jobs_on_exit cmdline
    or <abort_jobs_on_exit> in cc_config.xml).
    If set, when the client is exited by user request
    (this includes signals on Unix)
    it marks all pending jobs as aborted,
    and does a scheduler RPC to all projects with jobs.
    When these are completed the client exits.
    This is useful when BOINC is being used on grids
    where it is wiped clean after each run.

svn path=/trunk/boinc/; revision=17300
2009-02-18 19:47:02 +00:00
Charlie Fenton c8ad5b1def client: fix compile break on Mac
svn path=/trunk/boinc/; revision=17276
2009-02-17 01:51:56 +00:00
David Anderson 4d1544e579 - client: detect NVIDIA driver version number, show it on startup,
and include it with CUDA coprocessor descriptor in request msgs

svn path=/trunk/boinc/; revision=17275
2009-02-16 23:03:03 +00:00
David Anderson b22e99c26f - GUI RPC: add master_url and local_revision to PROJECT_CONFIG struct.
The former will allow the Manager to verify project URLs

svn path=/trunk/boinc/; revision=17271
2009-02-14 00:43:27 +00:00
David Anderson 1d43d654c6 - client: fix bug in time-of-day limit prefs (both CPU and network)
svn path=/trunk/boinc/; revision=17270
2009-02-14 00:34:11 +00:00
David Anderson 9db7b1f242 - GUI RPC: "get prefs" RPC was messed up by yesterdays's checkin;
also, change all bools to <foo>0|1</foo> rather than <foo/>

svn path=/trunk/boinc/; revision=17258
2009-02-13 17:45:23 +00:00
David Anderson f29dea8e02 - client: bug fix for GPU pref
svn path=/trunk/boinc/; revision=17247
2009-02-12 19:34:27 +00:00
David Anderson 4526c0bb3d - client, web: add preference for not using GPU while computer busy
svn path=/trunk/boinc/; revision=17235
2009-02-12 18:04:30 +00:00
David Anderson 017b61283b - client, API: populate APP_INIT_DATA::hostid.
Remove userid and teamid fields, since the client doesn't know these.

svn path=/trunk/boinc/; revision=17216
2009-02-11 23:01:21 +00:00
David Anderson 315f205a68 compile fix
svn path=/trunk/boinc/; revision=17214
2009-02-11 22:46:34 +00:00
David Anderson 84a02bdbeb svn path=/trunk/boinc/; revision=17213 2009-02-11 22:39:59 +00:00
David Anderson 2c068b76dc - lib: implement APP_INIT_DATA::copy() with assignments instead of
memcpy().  This protects against any future double-free bugs.

svn path=/trunk/boinc/; revision=17212
2009-02-11 22:36:33 +00:00
David Anderson 20dbb07142 - client and API: eliminate dynamically-allocated parts of GLOBAL_PREFS.
This fixes a double-free bug in the API.

svn path=/trunk/boinc/; revision=17208
2009-02-11 20:45:26 +00:00
Charlie Fenton 1c431d8ca8 lib: add time stamps to BOINCTRACE on non-Windows systems
svn path=/trunk/boinc/; revision=17203
2009-02-11 10:36:16 +00:00
Charlie Fenton 2c89b4103e SS: Implement basic new functionality in screensaver coordinator (tested on Mac only so far)
svn path=/trunk/boinc/; revision=17146
2009-02-05 12:32:16 +00:00
David Anderson b9fc36ef84 - GUI RPC: made password file read into function
- lib: minimized FCGI library

svn path=/trunk/boinc/; revision=17133
2009-02-03 21:22:50 +00:00