Commit Graph

4680 Commits

Author SHA1 Message Date
David Anderson 028d4d9a36 - client: delete sticky files when reset project
svn path=/trunk/boinc/; revision=25878
2012-07-17 21:45:19 +00:00
David Anderson 490b740682 - web: improve forum pagination
svn path=/trunk/boinc/; revision=25863
2012-07-11 19:24:28 +00:00
David Anderson 6a8075046b - Unix: include db/boinc_db_types.h in installed headers
- client: small code cleanup, no functional change


svn path=/trunk/boinc/; revision=25857
2012-07-10 17:28:04 +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
David Anderson f9a9c3090f - Client (Win): in file_size(), use _stat64() instead of stat().
Otherwise it doesn't work for files >= 2GB
	- Client: TIME_STATS::trim_stats_log() wasn't working because
		it's called in the constructor of TIME_STATS,
		which is called before we've done a chdir() to the data dir.

	Note: for this reason, no disk access should be done in constructors
	of global objects.  A quick scan found no instances of this.

svn path=/trunk/boinc/; revision=25846
2012-07-03 22:36:59 +00:00
Charlie Fenton 687c8e1a5d Mac: fix build break.
svn path=/trunk/boinc/; revision=25842
2012-07-03 07:31:06 +00:00
David Anderson 19458ba4de - Compile fixes for Fedora core 17. From Christian B. Fixes #1194.
- Fix various #include issues.

CODING STYLE LAW (minimal inclusion principle):
    If foo.cpp requires <blah.h>,
    #include <blah.h> in foo.cpp, NOT foo.h


svn path=/trunk/boinc/; revision=25837
2012-07-02 18:51:02 +00:00
David Anderson 430f6a0813 - client: in the job scheduler, there's a check to prevent
overcommitting the CPUs if an MT is scheduled.
    Skip this check for GPU jobs.


svn path=/trunk/boinc/; revision=25835
2012-07-02 17:58:33 +00:00
David Anderson f6bd141b30 - client: further msg tweaks
svn path=/trunk/boinc/; revision=25830
2012-07-02 05:10:58 +00:00
David Anderson 1d717c6fcc - client: msg tweak
svn path=/trunk/boinc/; revision=25829
2012-07-02 04:45:19 +00:00
David Anderson 7dcf119854 - client: msg tweak
svn path=/trunk/boinc/; revision=25828
2012-07-02 04:06:11 +00:00
David Anderson 89578050f7 - When the client makes a scheduler RPC without requesting work,
and there's a simple reason
    (e.g. the project is suspended, no-new-tasks, downloads stalled, etc.)
    show it in the event lot.
    If the reason is more complex, don't try to explain.


svn path=/trunk/boinc/; revision=25827
2012-07-02 03:43:05 +00:00
David Anderson f3eb1d350e - client: when estimating FLOPS for an anonymous-platform app version
for which no estimate has been supplied by user,
    use (CPU speed)*(cpu_usage + 10*gpu_usage)
    (add the 10*)


svn path=/trunk/boinc/; revision=25821
2012-06-29 05:17:01 +00:00
David Anderson f8c1665722 - client: keep track of the fraction of time that
1) a network connection is available and
    2) network communication is allowed and
    3) CPU computation is allowed
- If an app version is marked as needs_network,
    use the above fraction in estimating its rate of progress
- replace "core client" with "client" in comments.
- scheduler: message tweaks


svn path=/trunk/boinc/; revision=25803
2012-06-26 20:30:56 +00:00
David Anderson c9f3c16f86 - client: AMD GPU detection addition (from [P3D] Crashtest)
svn path=/trunk/boinc/; revision=25790
2012-06-22 18:23:09 +00:00
David Anderson 126a54c3d9 - client: AMD GPU detection addition (from [P3D] Crashtest)
svn path=/trunk/boinc/; revision=25777
2012-06-20 03:30:13 +00:00
David Anderson 133430fa3b - client: for NVIDIA, make an array of the PCI info
for all usable GPUs


svn path=/trunk/boinc/; revision=25775
2012-06-18 21:09:16 +00:00
David Anderson 5cf6321b67 - win compile fixes
svn path=/trunk/boinc/; revision=25774
2012-06-18 20:49:26 +00:00
David Anderson b050deecf7 - client: compile fixes
svn path=/trunk/boinc/; revision=25773
2012-06-18 20:41:37 +00:00
David Anderson 2ccefde745 - client: rename coproc_detect.cpp to gpu_detect.cpp
svn path=/trunk/boinc/; revision=25772
2012-06-18 20:14:21 +00:00
David Anderson 5e61c29cc3 - client: split GPU detection code into separate files
svn path=/trunk/boinc/; revision=25771
2012-06-18 20:12:30 +00:00
David Anderson 5e87181d81 - client: it's possible for a host to get app versions for
a given app that have different platforms and different version #s.
    The client was erroneously deleting the one w/ the lower version
    when it was no longer in use.
    Fix: in garbage collection, consider one version to supercede another
    only if they have the same platform


svn path=/trunk/boinc/; revision=25770
2012-06-18 17:57:33 +00:00
David Anderson 0cc0370f02 - client, GUI RPC: detect and export the PCI bus, device, and domain #s.
- scheduler: increase #GPU limit from 8 to 64


svn path=/trunk/boinc/; revision=25761
2012-06-15 20:49:11 +00:00
David Anderson 4dc940653c - client:
- added the definitions for the new Windows 7/2008r2 preSP1
            and Windows 8/2012 SKUs based on the winnt.h
            from the Windows 8 RC SKD (also added as proof)
        - added the detection for some more Windows SKU
        - Updates provided by Teamwork of Planet3Dnow.de to coproc_detect.cpp
            - added CAL_TARGET_ID 21 as : AMD Radeon HD 78x0 series (Pitcairn)
        (from [P3D] Crashtest)

svn path=/trunk/boinc/; revision=25760
2012-06-14 18:45:58 +00:00
Charlie Fenton 7add13f1af client: if available, use GPU model name from CAL for OpenCL model name
svn path=/trunk/boinc/; revision=25757
2012-06-13 23:14:12 +00:00
David Anderson 54078e92c4 - fixes of various (non-critical) fd and memory leaks.
Fixes #1188.  From Julien.
- fix bugs in setting scheduler output buffer size
- code formatting


svn path=/trunk/boinc/; revision=25750
2012-06-10 05:38:34 +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
Eric J. Korpela 7aafa2cc9a Fix for linux idle detection bug with USB mice.
svn path=/trunk/boinc/; revision=25732
2012-06-04 17:50:51 +00:00
David Anderson 1aea1fb0f3 - client: show <vbox_window> option in log,
and give warning if include this while in sandbox mode
- web: update URLs for BOINCstats

svn path=/trunk/boinc/; revision=25697
2012-05-18 22:13:36 +00:00
David Anderson b2a4cd4d91 svn path=/trunk/boinc/; revision=25691 2012-05-18 17:38:16 +00:00
David Anderson 32a08d27d9 - C++ code: use MAXPATHLEN for char arrays that hold paths
svn path=/trunk/boinc/; revision=25659
2012-05-09 16:11:50 +00:00
David Anderson 1d43879c0a - client: fix bug where coproc name could be set incorrectly when:
a) there are multiple GPU vendors
    b) one of them is detected via OpenCL but not "native" (CUDA/CAL)


svn path=/trunk/boinc/; revision=25653
2012-05-06 10:25:14 +00:00
David Anderson d89b665ae0 - client: if an app version needs OpenCL/CUDA/CAL,
make sure that the GPU supports it
    (fix bug where sometimes, e.g. CUDA detection fails
    but OpenCL succeeds, and we have a CUDA app).


svn path=/trunk/boinc/; revision=25630
2012-04-30 21:38:25 +00:00
David Anderson 331114d961 - client: minor code shuffle
svn path=/trunk/boinc/; revision=25627
2012-04-30 21:12:35 +00:00
David Anderson bbfbef0fe8 - client: code cleanup. Move RESULT and PROJECT to separate files
svn path=/trunk/boinc/; revision=25621
2012-04-30 21:00:28 +00:00
David Anderson 3b363f9a87 - web RPC: include rpc_time in XML host description
- client: if acct mgr sends us an account with no authenticator,
    show an error message instead of trying to attach


svn path=/trunk/boinc/; revision=25608
2012-04-30 18:46:50 +00:00
David Anderson 909315552f - compile fix
svn path=/trunk/boinc/; revision=25603
2012-04-26 20:32:00 +00:00
David Anderson 72368a6b20 - A first attempt to fix the bug where apps die with exit(1)
(whereas they didn't do this w/ older clients).
    On Windows, the client uses TerminateProcess(h, 1) to kill processes;
    the 1 is the exit code the process will appear to have.

    So instead, add a "will_restart" bool arg to the various kill
    functions, and if set use 0 (= STATUS_SUCCESS),
    otherwise use EXIT_ABORTED_BY_CLIENT.

    Note: in principle this shouldn't make any difference
    for quitting tasks,
    since handle_exited_app() checks for task state QUIT_PENDING
    and ignores the exit code in that case.
    The only place I can see where it would make any difference
    is when we kill a process because it hasn't been handling
    queued shared-memory messages for 180 seconds.

- client: add more info to the message about an exited app

- client: function return values (ERR_*) are different from
    process exit codes (EXIT_*).
    But in many places we were using return values as exit codes.
    Fix these.
    Also, break out the different types of limits a job can exceed
    (time, disk, memory) into difference exit codes.


svn path=/trunk/boinc/; revision=25601
2012-04-26 05:28:45 +00:00
David Anderson db44fa1371 - client: enforce <no_gpus> in config file not just at startup,
but also when config file is re-read.


svn path=/trunk/boinc/; revision=25600
2012-04-25 18:14:28 +00:00
David Anderson 813470f08d - Bad logic in Win code:
if you have
        *pbuf = HeapAlloc(...)
    then you need
        if (*pbuf == NULL)
    not
        if (pbuf == NULL)
- various code cleanups from 
- Makefile.am: don't include clientgui/res; nothing to make there

from Steffen Moeller


svn path=/trunk/boinc/; revision=25599
2012-04-25 07:09:14 +00:00
David Anderson 6591272c80 - client: fix crashing bug that happened when a scheduler reply
had a parse error, and it included project files.
    While parsing the scheduler reply we'd add FILE_REFs to
    PROJECT::project_files,
    but wouldn't link them to FILE_INFOs since this is done
    only if the reply parses correctly.
    The next garbage_collect() would dereference these NULL pointers.

    Solution: parse the FILE_REFS into SCHEDULER_REPLY::project_files.
    Copy this to PROJECT::project_files only if the reply parses.


svn path=/trunk/boinc/; revision=25598
2012-04-25 05:51:26 +00:00
David Anderson 9d25481174 - scheduler: fix bug that tried to open plan class spec file
on each request.
- client: when showing how much work a scheduler request returned,
    scale by availability (as is done to show the amount of the request)
- client in account manager request, <not_started_dur> and
    <in_progress_dur> are in wall time, not run time
    (i.e. scale them by availability)

Note: there's some confusion in the code between runtime and wall time,
    where in general wall time = runtime / availability.
    New convention: let's use "runtime" for the former,
    and "duration" for the latter.

svn path=/trunk/boinc/; revision=25597
2012-04-25 04:10:29 +00:00
David Anderson b6b02aedf4 - client: fix bug that caused a project's jobs to all be run EDF
if the project has the <dont_use_dcf> flag set.

svn path=/trunk/boinc/; revision=25593
2012-04-24 06:07:36 +00:00
Rom Walton 27520b8ac0 - client: fix function prototypes for CUDA detection.
client/
        coproc_detect.cpp

svn path=/trunk/boinc/; revision=25591
2012-04-23 20:38:25 +00:00
David Anderson d65cf2cb8a - client: fix bug that could erroneously cause a GPU to
be "blocked by config file".


svn path=/trunk/boinc/; revision=25590
2012-04-22 06:28:47 +00:00
David Anderson 643c731411 - client: if we're contacting a project to ask it for work
of a particular processor type,
    ask it for work of other types only if we're below
    max buffer for those types.


svn path=/trunk/boinc/; revision=25589
2012-04-20 23:51:20 +00:00
David Anderson b07ce4aebb - client: add <suspend_debug> log flag
svn path=/trunk/boinc/; revision=25586
2012-04-20 18:50:10 +00:00
Rom Walton e3571aab9c - Update copyrights.
client/win/
        boinc_cli.rc
        boinc_cmd.rc
        boinc_log.rc
    clientctrl/
        boincsvcctrl.rc
    clientgui/
        BOINCGUIApp.rc
        DlgAbout.cpp
    clientscr/
        boinc_ss.rc
        boinc_ss_opengl.rc
    clienttray/
        boinc_tray.rc

svn path=/trunk/boinc/; revision=25583
2012-04-19 20:43:35 +00:00
David Anderson c34093e374 - web: don't show account keys on account page;
rewrite the page explaining and showing account keys.
- client: remove <std_debug> log flag
- client: remove <zero_debts> config option


svn path=/trunk/boinc/; revision=25581
2012-04-19 07:36:47 +00:00
David Anderson fca2956408 - scheduler: fix bug in assigned-job logic (from Derrick Kondo)
- client: only send active tasks in get_simple_gui_info GUI RPC


svn path=/trunk/boinc/; revision=25575
2012-04-17 21:39:55 +00:00