Commit Graph

2028 Commits

Author SHA1 Message Date
David Anderson 81973a9fff - scheduler: fix structural problems with sending user messages.
Old: various redundant and/or misleading messages were sent.
    New:
        - if host w/ no GPU contacts a GPU-only project,
            send high-pri message saying they need a GPU
        - if host w/ GPU has driver too old for all versions,
            send high-pri message saying to update driver
        - if host w/ GPU has driver too old for some versions,
            send low-pri message saying to update driver
        - if host has GPU but too little RAM for any app,
            send low-pri message saying so
- scheduler: revamp GPU plan class functions

svn path=/trunk/boinc/; revision=21760
2010-06-16 22:07:19 +00:00
David Anderson 6511e1f8e8 - client: let fake CUDA specify driver version
- client: restore call to diagnostics_finish() on exit.
	(should print mem info, but doesn't)
- manager: notices display tweak 

svn path=/trunk/boinc/; revision=21759
2010-06-16 21:57:28 +00:00
Charlie Fenton 9c185c44b0 Mac: fix compiler warning
svn path=/trunk/boinc/; revision=21755
2010-06-16 02:10:23 +00:00
David Anderson 75e86bff04 - client/server/API: rename cudaDeviceProp to CUDA_DEVICE_PROP to
avoid conflict with nvidia's structure.
    Note: these structures don't have to be the same,
    since we populate our struct one item at a time.


svn path=/trunk/boinc/; revision=21668
2010-06-01 18:36:11 +00:00
David Anderson 0f2440c90b - GUI RPC client side: set up a 30 second receive timeout for
socket to client.  That way GUI won't hang if client does.
    From Fred of BoincTasks

svn path=/trunk/boinc/; revision=21663
2010-05-31 21:51:09 +00:00
David Anderson 1764c6f7d4 - scheduler: preliminary checkin of new limit code
svn path=/trunk/boinc/; revision=21621
2010-05-24 23:14:48 +00:00
David Anderson 7a7cf4f5e7 - client, Unix: error checking in reading /proc entries.
Avoid garbage values e.g. of working_set_size
- scheduler: message tweaks

svn path=/trunk/boinc/; revision=21591
2010-05-20 17:50:00 +00:00
David Anderson 689f6c1625 - GUI RPC: improved error reporting
svn path=/trunk/boinc/; revision=21585
2010-05-19 17:15:33 +00:00
David Anderson 49f3c1aa61 client: bug fixes
svn path=/trunk/boinc/; revision=21571
2010-05-18 21:11:35 +00:00
David Anderson 9a54d6e144 - GUI RPC: include HOST_INFO in CC_STATE
svn path=/trunk/boinc/; revision=21569
2010-05-18 20:32:17 +00:00
David Anderson 28fb7e7889 - fix compile warnings
svn path=/trunk/boinc/; revision=21567
2010-05-18 20:16:46 +00:00
David Anderson 4708edf036 - client simulator: fix build
- code cleanup: removed include of client/cpp.h from lib/msg_log.cpp.
    Stuff in lib/ should NOT include stuff from client/.

svn path=/trunk/boinc/; revision=21566
2010-05-18 20:07:01 +00:00
David Anderson 40eebe00af - client/scheduler: in COPROCS, instead of having a vector of
pointers to dynamically allocated COPROC-derived objects,
    just have the objects themselves.
    Dynamic allocation should be avoided at all costs.

svn path=/trunk/boinc/; revision=21564
2010-05-18 19:22:34 +00:00
David Anderson 5a8142a23c - client: don't promote multithread jobs ahead of EDF jobs
svn path=/trunk/boinc/; revision=21563
2010-05-18 16:45:55 +00:00
David Anderson 50724b0ed9 - API: compile fixes for MinGW
svn path=/trunk/boinc/; revision=21522
2010-05-14 16:22:57 +00:00
Eric J. Korpela 459b0d5a57 Fixes for MinGW application build.
svn path=/trunk/boinc/; revision=21508
2010-05-13 17:03:29 +00:00
David Anderson 256c694c96 - client: make GPU available RAM measurement #ifdef-selectable,
and default it to off
- client: if we print available GPU RAM (which we now don't)
    have a separate timer per GPU type
- scheduler: add new plan classes cuda_opencl (sic) and ati_opencl

svn path=/trunk/boinc/; revision=21498
2010-05-13 03:07:33 +00:00
David Anderson 515abee470 - client/manager: keep track of "GPU suspended reason".
Report it to the manager
    (it was already in CC_STATUS, but not populated)
- manager: fix system tray icon popup text

svn path=/trunk/boinc/; revision=21481
2010-05-12 18:14:30 +00:00
David Anderson 9d8b915cc4 - client: fix crashing bug.
Deleting records in ~COPROCS() was bad,
		since we copy HOST_INFO to APP_INIT_DATA,
		leading to a double deletion.

svn path=/trunk/boinc/; revision=21475
2010-05-12 17:02:57 +00:00
David Anderson 7e9a8e5f98 - client: fix memory leak
svn path=/trunk/boinc/; revision=21464
2010-05-11 20:41:01 +00:00
Rom Walton 9cb3e6ffc7 - client & lib: bring header inclusion up-to-date for the CC to begin
hunting down a memory leak.
        
    client/
        <Various Files>
    lib/
        <Various Files>

svn path=/trunk/boinc/; revision=21457
2010-05-11 19:10:29 +00:00
Rom Walton 9e2e47c1de - DIAG: Make init functions consistant with one another.
lib/
        diagnostics.cpp

svn path=/trunk/boinc/; revision=21418
2010-05-07 22:25:58 +00:00
David Anderson a62782c910 - manager: if a project has pending trickle up,
show it in the project status


svn path=/trunk/boinc/; revision=21416
2010-05-07 20:41:43 +00:00
David Anderson 06cb521bbe - manager: improve "suspended" messages for tasks and transfers
- manager: code reorg.  ViewTransfers and DlgItemProperties
		both had a long member function to generate a string describing a task.
		One of these was out of date.
		Replaced these with a single non-member function.
	- manager: fixed sizer problem in attach wizard that caused missing word
	- client: minor code reorg

svn path=/trunk/boinc/; revision=21412
2010-05-07 16:14:54 +00:00
Rom Walton 1039cbdbe0 - lib: update client-side RPC files for configured
download url.
    - manager: update get_newer_version async RPC for
        configured download url.

    clientgui/
        AsyncRPC.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=21386
2010-05-05 18:30:22 +00:00
David Anderson 8f91d96150 - user web: add network quota pref (the goal that spurred all this cleanup)
- rename prefs.daily_xfer_period to daily_xfer_period_days


svn path=/trunk/boinc/; revision=21269
2010-04-23 20:29:02 +00:00
David Anderson 9619791ad3 - user web: more cleanup of prefs.inc
- client: code cleanup


svn path=/trunk/boinc/; revision=21267
2010-04-23 17:46:57 +00:00
Rom Walton ec04f5dcbd - CC: Reduce how often the client reports the amount of available
VRAM to once every 60 seconds.

    client/
        coproc_detect.cpp
        cpu_sched.cpp
    lib/
        coproc.h

svn path=/trunk/boinc/; revision=21264
2010-04-23 16:47:07 +00:00
David Anderson bede9972b1 - client: fix bug with NVIDIA GPUs.
Some of them allow only 1 CUDA context at a time.
    You need to create a CUDA context to get available VRAM.
    So the client would run a CUDA job, then immediately kill it.
    Solution:
    - If a GPU app is running,
        let it keep running regardless of available VRAM
        (if it's still running, it has enough VRAM).
    - But don't start new apps if there's not enough available VRAM,
        or it the amount is unknown
        (if the client can't create a CUDA context,
        the app won't be able to either)
- client: if <coproc_debug> is set, print available GPU RAM periodically

svn path=/trunk/boinc/; revision=21253
2010-04-22 17:45:33 +00:00
David Anderson 2ab7dbfc65 - client: bug fixes for the above
svn path=/trunk/boinc/; revision=21243
2010-04-22 02:57:50 +00:00
David Anderson 87c84afe0a - client: add preference for limiting network xfers in last N days
(no GUI yet)

svn path=/trunk/boinc/; revision=21242
2010-04-21 23:17:12 +00:00
David Anderson 71ecfd47a0 svn path=/trunk/boinc/; revision=21226 2010-04-21 04:00:17 +00:00
David Anderson 678d880c64 - client: clean up logic related to GPU available memory.
If a driver call to get available mem fail, mark the GPU as unusable.


svn path=/trunk/boinc/; revision=21210
2010-04-19 18:35:10 +00:00
David Anderson d4bb95d5a6 - client: when a GPU job finishes, clear the "schedule backoff"
of other jobs of that type.
		They're waiting for GPU RAM, which may now be available.
	- client: bug fix in GPU RAM availability
	- client: fix testing setup for GPU RAM availability

svn path=/trunk/boinc/; revision=21206
2010-04-18 05:29:29 +00:00
David Anderson 01402bb45a - client: improve GPU scheduling
old: assign GPUs, then check available RAM
        Problem: may cause starvation on multi-GPU systems.
    new: use available RAM info in the assignment process.
        Prevents starvation, also reduces the number of driver calls.

svn path=/trunk/boinc/; revision=21205
2010-04-18 03:00:33 +00:00
Charlie Fenton 07d2a34ba7 client: Improve code for determining non-BOINC CPU time for branded clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21189
2010-04-15 23:03:22 +00:00
Charlie Fenton 7787d8ef66 client: Improve code for determining non-BOINC CPU time for branded clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21188
2010-04-15 23:02:13 +00:00
David Anderson 02717af2f3 - bug fixes
svn path=/trunk/boinc/; revision=21187
2010-04-15 21:58:44 +00:00
David Anderson 252b24bf8b - client: get rid of spurious "Using proxy settings from GUI" message
svn path=/trunk/boinc/; revision=21186
2010-04-15 20:28:19 +00:00
Charlie Fenton db6f3b13bb client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21171
2010-04-13 09:42:19 +00:00
Charlie Fenton 97333885a0 client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21170
2010-04-13 09:40:22 +00:00
Charlie Fenton ab7df01162 client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21169
2010-04-13 08:52:50 +00:00
Charlie Fenton 4b91fb69cc client: Fix bug in determining non-BOINC CPU time (Mac).
svn path=/trunk/boinc/; revision=21162
2010-04-09 23:36:49 +00:00
David Anderson 2d7fdacba8 - client: don't include graphics apps in non-BOINC CPU time (Unix).
svn path=/trunk/boinc/; revision=21133
2010-04-07 16:04:36 +00:00
Charlie Fenton 8e7f5082e2 Mac: don't include graphics apps in non-BOINC CPU time; optimize screensaver for OS 10.6.
svn path=/trunk/boinc/; revision=21132
2010-04-07 11:37:56 +00:00
David Anderson 84861e7c55 - client: don't include graphics apps in non-BOINC CPU time
svn path=/trunk/boinc/; revision=21131
2010-04-07 05:54:20 +00:00
David Anderson e627906642 - client: read_file_malloc() must open file in binary mode,
else it won't get the right part of the file


svn path=/trunk/boinc/; revision=21107
2010-04-05 22:04:21 +00:00
David Anderson 19f7d66b53 - backend programs: change the way PFC and elapsed-time statistics
are written to the DB.
    The incremental approach was bogus.
    New approach:
    host_app_version: write directly; R/W interval is tiny
    app_version: maintain an explicit list of update samples
        for both PFC and credit.
        When the validator flushes its app_version cache,
        do careful updates.
    Note: when using double fields in careful updates,
    you can't test for equality.  Use abs(new-old) < 1e-N

svn path=/trunk/boinc/; revision=21057
2010-04-02 19:10:37 +00:00
David Anderson 9a06c4164f - client: Fermi compute capability is 2, not 3
svn path=/trunk/boinc/; revision=21036
2010-03-31 18:31:56 +00:00
David Anderson ad9e5bd833 - client: NVIDIA peak FLOPS estimate was wrong for Fermi
(32 cores, not 8)

svn path=/trunk/boinc/; revision=21034
2010-03-31 05:29:37 +00:00