Commit Graph

76 Commits

Author SHA1 Message Date
Rom Walton e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
David Anderson 3b1cc344f4 - client: don't start new network activity if CPU benchmarks in progress
svn path=/trunk/boinc/; revision=20798
2010-03-04 22:51:03 +00:00
David Anderson c0ad0f3745 - update_versions: if file is already in download dir,
and is the same, don't copy (it might not be writeable)
- client: change "result" to "task" in user-visible messages

svn path=/trunk/boinc/; revision=20785
2010-03-03 23:52:20 +00:00
David Anderson d78b5fb79a - client: if a project is anonymous platform and it has no
app versions that use a resource,
    don't request work from it for that resource.

svn path=/trunk/boinc/; revision=20549
2010-02-11 22:19:22 +00:00
David Anderson 10f5d255ab - compile warnings
svn path=/trunk/boinc/; revision=20120
2010-01-10 22:18:42 +00:00
David Anderson ac3adff1d7 - client: notice fixes
svn path=/trunk/boinc/; revision=20085
2010-01-06 21:39:31 +00:00
David Anderson 5822c19de5 - make startup msgs normal priority; fix crash
svn path=/trunk/boinc/; revision=20031
2009-12-23 23:25:45 +00:00
David Anderson 735e2b0448 - internal change: rename MSG_USER_ERROR to MSG_USER_ALERT
svn path=/trunk/boinc/; revision=20027
2009-12-23 18:02:40 +00:00
David Anderson b499654603 - client: more notice stuff. Substantial progress!
We're now saving feed lists, and fetching items from feeds.

svn path=/trunk/boinc/; revision=20021
2009-12-23 00:58:27 +00:00
David Anderson b0463cffae - client: more notice stuff. Add <notice_debug> log flag
svn path=/trunk/boinc/; revision=20019
2009-12-22 23:00:55 +00:00
David Anderson 62ece8f222 - client: intermediate checkin for RSS/notice stuff.
It's coming along.

svn path=/trunk/boinc/; revision=20006
2009-12-22 03:56:24 +00:00
David Anderson 8182ccd031 - client/manager: first whack at a "snooze GPU" button
svn path=/trunk/boinc/; revision=19853
2009-12-10 23:26:35 +00:00
David Anderson 54e7c50b48 fix GPU bug
svn path=/trunk/boinc/; revision=19837
2009-12-09 01:09:28 +00:00
David Anderson 392c578044 fix initialization bug that made GPUs invisible
svn path=/trunk/boinc/; revision=19831
2009-12-09 00:00:35 +00:00
David Anderson 6b937c7e54 - more code shuffle: add COPROCS to HOST_INFO
svn path=/trunk/boinc/; revision=19797
2009-12-07 01:21:42 +00:00
David Anderson 4bd0e4a2de - client: sort out proxy_info mess.
Source of proxy info (descending priority)
    - GUI RPC (Manager or boinccmd)
        This and only this is saved in state file.
        If neither HTTP nor SOCKS server name present,
        this is viewed as not present
    - environment vars
    - cc_config.xml

    Show sources of proxy info in message log.
    If one is present but overridden, show a message to that effect.

    This fixes a bug where someone had a proxy info env var and
    forgot about it.
    They got an erroneous message saying no proxy was being used.

svn path=/trunk/boinc/; revision=19785
2009-12-05 00:51:05 +00:00
David Anderson 2d4ceb618a - client: my STD-related checkin of Dec 1 was bad.
It computed an "overall STD" as the sum of CPU and coprocs,
    weighted by the coproc's speed, as we do for LTD.
    This was the wrong idea; in the presence of GPUs,
    STDs quickly get pushed to +- 1 day and are truncated there.

    New scheme: STD is maintained per (resource type, project).
    This fixes the above problem,
    and it opens to door to round-robin scheduling of GPUs.
- client: the calculation of "anticipated debt" was scaling
    by relative resource share.
    This wasn't correct, seems to me.
- client: rename "debt" to "long_term_debt" in a few places
    (but not in the client state file, for compatibility)

svn path=/trunk/boinc/; revision=19777
2009-12-03 23:09:25 +00:00
David Anderson 4bf2ef5198 - client: add new config options:
<ignore_cuda_dev>n</ignore_cuda_dev>
    <ignore_ati_dev>n</ignore_ati_dev>
    to ignore (not use) specific NVIDIA or ATI GPUs.
    You can ignore more than one.

svn path=/trunk/boinc/; revision=19566
2009-11-12 23:44:49 +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
David Anderson 656441dc3b svn path=/trunk/boinc/; revision=19292 2009-10-12 22:45:44 +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
David Anderson f5de278719 - client: if anonymous platform description (app_info.xml)
doesn't specify FLOPS for a GPU app,
    assume that it runs at CPU peak speed rather than GPU peak speed.
    Better to be conservative, otherwise job might be aborted
    due to time limit exceeded.

svn path=/trunk/boinc/; revision=19282
2009-10-07 20:23:14 +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
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 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 35c6e2ee1b - client: fix crashing bug in GPU message display
- client: show a couple more config flags on startup

svn path=/trunk/boinc/; revision=19191
2009-09-26 05:23:05 +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 da4cec49de - client: comment out [18942], which changed the meaning of
"don't use GPUs while computer is in use" to
    "don't use GPUs running graphics apps while computer is in use"
    for NVIDIA GPUs.
    NVIDIA's API for seeing if a GPU is running a graphics app
    doesn't seem to reflect GPU use by the OS.

svn path=/trunk/boinc/; revision=19093
2009-09-18 17:55:05 +00:00
David Anderson ceeee198db - client: change order in poll loop so that:
1) job finishes
    2) job gets marked as "ready to report"
    3) scheduler RPC is initiated
    Hopefully this won't have an unintended side-effect

svn path=/trunk/boinc/; revision=19051
2009-09-14 03:35:56 +00:00
David Anderson 31a19d1def - client: in startup msgs, show resource shares, don't show prefs details
svn path=/trunk/boinc/; revision=19044
2009-09-11 16:58:31 +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 b129e71f20 - client: add code for faking ATI GPUs
svn path=/trunk/boinc/; revision=19024
2009-09-08 18:42:24 +00:00
David Anderson e475c64a3b - client: fix log messages about scheduler RPC work req
- client: missing reset for ATI debt accounting

svn path=/trunk/boinc/; revision=18998
2009-09-03 04:39:58 +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
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 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 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 230760136c svn path=/trunk/boinc/; revision=18835 2009-08-13 16:17:26 +00:00
Charlie Fenton 290d92aeb0 client: fix compiler warnings "call will abort at run time"; Sandbox: add casts
svn path=/trunk/boinc/; revision=18820
2009-08-08 01:07:10 +00:00
Rom Walton b932711a80 - client: refactor the CC startup process, move majority of the
windows code into sysmon_win.cpp, .h
        
    client/
        client_state.cpp, .h
        cpp.h
        http_curl.cpp
        main.cpp, .h
        net_stats.cpp
        sysmon_win.cpp, .h

svn path=/trunk/boinc/; revision=18803
2009-08-03 20:55:00 +00:00
David Anderson e794e71c48 - client: code cleanup for project-level file xfer backoff
svn path=/trunk/boinc/; revision=18601
2009-07-16 16:35:57 +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 cf327415d7 - client: read app_info.xml's AFTER scanning GPUs.
Otherwise we'll discard all GPU apps and results.


svn path=/trunk/boinc/; revision=18308
2009-06-04 21:28:25 +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 e46d8c6e63 - client: if detach a project, adjust debts and trigger
CPU sched and work fetch

svn path=/trunk/boinc/; revision=17843
2009-04-17 06:12:41 +00:00
David Anderson 5834cb098e - client: we were setting config defaults after parsing cmdline.
This meant that the cmdline args that set config params weren't working:
        --allow_multiple_clients
        --report_results_immediately
        --no_priority_change
        --start_delay

svn path=/trunk/boinc/; revision=17741
2009-04-07 20:02:49 +00:00
David Anderson 30baaf0783 - client: reduce frequency of writing state file:
1) multiply checkpoint period by # of cores (or GPUs)
    2) don't write statefile after schedule_cpus()
        (we write it after enforce_schedule() if anything
        started or stopped, and that's all that matters)
- client: add new log flag <statefile_debug>;
    tells you when and why statefile is written

svn path=/trunk/boinc/; revision=17638
2009-03-20 17:58:51 +00:00
Rom Walton 696dfba813 - client: initial support for detecting the CPU L2 cache
size on Windows.
        
    client/
        client_state.cpp
        cs_benchmark.cpp
        hostinfo_win.cpp

svn path=/trunk/boinc/; revision=17637
2009-03-20 01:46:29 +00:00
David Anderson 47c889f002 - client: backoff overrides project-requested scheduler RPC.
Otherwise, if scheduler is down, we'll retry infinitely every 10 secs
	- client: remove auto_update.poll() (not used)

svn path=/trunk/boinc/; revision=17585
2009-03-10 22:14:16 +00:00