Commit Graph

169 Commits

Author SHA1 Message Date
David Anderson 405f567c81 - code cleanup: in foo.cpp, include foo.h first
svn path=/trunk/boinc/; revision=25933
2012-08-01 20:04:05 +00:00
David Anderson 8761ed75f7 - lib: fix typo
svn path=/trunk/boinc/; revision=25884
2012-07-22 03:45:47 +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 fc2af21221 - client: add missing end tag for <pci_info>. Doh!
- validator: add some sanity-checking for credit,
    to prevent granting 1e38 credit.
    max_granted_credit now defaults to the equivalent of 1 TeraFLOP-year.
    Instances that exceed this are not counted in the credit
    calculation, and a critical-mode log message is written
- wrapper: remove wall_cpu_time; not used anymore


svn path=/trunk/boinc/; revision=25825
2012-06-29 22:24:07 +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 8c71f6d59a - scheduler: add support for Intel GPUs, and restructure things
to make it easier to add other GPU types in the future


svn path=/trunk/boinc/; revision=25792
2012-06-25 23:09:45 +00:00
David Anderson b050deecf7 - client: compile fixes
svn path=/trunk/boinc/; revision=25773
2012-06-18 20:41:37 +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 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
David Anderson 759c23ed27 - server: create a harness for testing validator code.
If you link your functions (init_result(), compare_results(),
    cleanup_result()) with validate_test.cpp,
    you'll get a program that you can run as
        validate_test file1 file2
    and it will compare the two files
    (this works only for validators that expect 1 file per result).

    I added a makefile, sched/makefile_validator_test,
    that you can use for this.
- server: shuffle code so that the above doesn't need to
    link MySQL libraries
- client: if we fetch a master file and it contains no scheduler URLs,
    show a message of class INTERNAL_ERROR
- client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double,
    and remove dtotalGlobalMem.
    Although NVIDIA reports RAM size as a size_t,
    there's no reason to store it as an integer after that.


svn path=/trunk/boinc/; revision=25542
2012-04-10 00:32:35 +00:00
David Anderson aed704e61b - client: don't write deviceHandle to NVIDIA XML description.
Um, pointers don't have any meaning outside the process


svn path=/trunk/boinc/; revision=25528
2012-04-02 22:41:28 +00:00
David Anderson 44ccd78293 - client/scheduler: fix error in NVIDIA peak flops calculation
svn path=/trunk/boinc/; revision=25501
2012-03-28 17:29:48 +00:00
David Anderson 63c279cef2 - client/server: set cores/proc for NVIDIA compute capability 3.0 to 192
Why can't NVIDIA provide an API for this?????


svn path=/trunk/boinc/; revision=25496
2012-03-27 03:50:16 +00:00
David Anderson 24761958fd - client/server: estimate FLOPS for NVIDIA GPUs with
compute capability 3.x.
    Not sure if the parameters are right
    (128 cores/proc, 2 flops/clock)
    but they're better than nothing.
- web: don't allow user names that have leading or trailing white space,
    or HTML tags, or are empty


svn path=/trunk/boinc/; revision=25485
2012-03-24 06:31:03 +00:00
David Anderson 10c79a7166 - scheduler: initialize COPROC_ATI::version to zero;
avoid sending spurious "update driver" messages


svn path=/trunk/boinc/; revision=25131
2012-01-23 21:59:12 +00:00
David Anderson c7d766f6d7 - client: parse HOST_INFO::p_vm_extensions_disabled correctly
svn path=/trunk/boinc/; revision=25105
2012-01-19 09:38:35 +00:00
Charlie Fenton d4993f3752 client, lib: Improve available GPU RAM detection, include it in display of GPU description
svn path=/trunk/boinc/; revision=25073
2012-01-17 02:22:25 +00:00
David Anderson 819360dfe8 - scheduler: encode CAL version numbers in a way that handles
release #s > 1000


svn path=/trunk/boinc/; revision=24746
2011-12-06 19:41:14 +00:00
David Anderson 6043d44d59 - compile warning fix
svn path=/trunk/boinc/; revision=24461
2011-10-22 07:02:04 +00:00
David Anderson b99390e8dd - fix NVIDIA peak FLOPS
svn path=/trunk/boinc/; revision=24454
2011-10-21 18:08:45 +00:00
David Anderson da55db138a - scheduler: fix calculation of ATI peak FLOPS;
older clients don't report have_cal.


svn path=/trunk/boinc/; revision=24452
2011-10-21 17:44:18 +00:00
David Anderson 1bacc6c5cb - client: show OpenCL version correctly on Win
svn path=/trunk/boinc/; revision=24402
2011-10-14 20:44:00 +00:00
Charlie Fenton 7bde8c785f client: fix NVIDIA driver version and CUDA version display for Mac
svn path=/trunk/boinc/; revision=24382
2011-10-12 01:15:35 +00:00
Charlie Fenton af369205a0 client: fix NVIDIA driver version and CUDA version display for Mac
svn path=/trunk/boinc/; revision=24381
2011-10-12 00:21:04 +00:00
David Anderson 0793e66ff7 - client and user web: show NVIDIA driver version and CUDA version
as, e.g., 275.33 instead of 27533


svn path=/trunk/boinc/; revision=24378
2011-10-11 18:57:49 +00:00
David Anderson cb3cdae1a5 - client/server: add a new result state RESULT_UPLOAD_FAILED
for when the job completed successfully but
    one or more output files had permanent upload failures.
    Show this state in web interfaces.
- sample_work_generator: check return value of count_unsent_results(),
    so that we don't generate infinite work if there's a DB problem
- web: RSS feed shows news items from last 90 days, rather than 14


svn path=/trunk/boinc/; revision=24377
2011-10-11 17:41:10 +00:00
Charlie Fenton e456d3c831 code cleanup
svn path=/trunk/boinc/; revision=24361
2011-10-10 11:50:00 +00:00
Charlie Fenton 33bebdc50a code cleanup
svn path=/trunk/boinc/; revision=24360
2011-10-10 07:09:24 +00:00
David Anderson dd3b628748 - client: compare OpenCL-only devices the same as other devices
- code cleanup


svn path=/trunk/boinc/; revision=24354
2011-10-08 06:33:39 +00:00
Charlie Fenton 3645b573a9 client: Compare openCL-only devices by estimated peak flops
svn path=/trunk/boinc/; revision=24351
2011-10-08 01:20:44 +00:00
David Anderson dc7e407532 - client/scheduler: the code for estimating peak FLOPS of ATI GPUs
(from Crunch3r) has a multiplier of 2.5 for cores/processor.
    This is possibly because give a double-precision estimate.
    But actually we want single-precision.  Change it to 5. See
    http://golubev.com/about_cpu_and_gpu_2_en.htm


svn path=/trunk/boinc/; revision=24349
2011-10-07 21:59:07 +00:00
David Anderson c6327eeb73 - client and scheduler: estimate peak FLOPS for GPUs that
are detected by OpenCL but not by native APIs (CUDA/CAL).
    This is limited by the fact that OpenCL doesn't give
    us the necessary hardware info
    (ATI; wavefrontSize; NVIDIA: compute capability).
    We use the minimum values for these,
    so in most cases we'll be underestimating the peak FLOPS.


svn path=/trunk/boinc/; revision=24346
2011-10-07 19:47:35 +00:00
David Anderson 3acc4fa77d - client/server: change field names in OPENCL_DEVICE_PROP
to match those in the clGetDeviceInfo() calls.
    Principles:
    - if there's already a name for something, use it.
    - follow case conventions


svn path=/trunk/boinc/; revision=24344
2011-10-07 18:11:52 +00:00
Charlie Fenton 3e125d15a9 client: write descriptions of OpenCL devices to stdout; work around a bug where OpenCL reports global RAM of ATI GPUs incorrectly
svn path=/trunk/boinc/; revision=24342
2011-10-07 11:45:44 +00:00
David Anderson ae3d5a85dd - scheduler: fix bug that caused scheduler to not send GPU jobs
svn path=/trunk/boinc/; revision=24338
2011-10-06 02:56:30 +00:00
David Anderson c84ede6156 - scheduler: record VirtualBox version # in the host table
svn path=/trunk/boinc/; revision=24327
2011-10-04 03:33:04 +00:00
Rom Walton 34dc62d22d - client: fix ATI GPU max mem display issue.
lib/
        coproc.cpp

svn path=/trunk/boinc/; revision=24252
2011-09-21 23:00:45 +00:00
Charlie Fenton bce695214c lib: fix compiler warning
svn path=/trunk/boinc/; revision=24218
2011-09-15 08:28:04 +00:00
David Anderson a2f6b62d97 - lib: parse <available_ram> in coproc XML
- lib: do coproc XML parsing using new XML parser


svn path=/trunk/boinc/; revision=24215
2011-09-15 04:24:40 +00:00
David Anderson 3a87fbd227 - client: report available GPU RAM to scheduler
svn path=/trunk/boinc/; revision=24213
2011-09-14 23:30:51 +00:00
David Anderson 7411dd60aa - client: change in the use of GPU available RAM:
- measure the available RAM of each GPU when BOINC starts up.
        If this fails, set available = physical.
        Show available RAM in startup messages.
    - use available RAM rather than physical RAM in selecting
        the "best" GPU instance
    - report available RAM to the scheduler
TODO: change the scheduler to use available rather than physical
    if it's reported


svn path=/trunk/boinc/; revision=24210
2011-09-14 22:45:26 +00:00
David Anderson 7f2a3c0ce1 - client: get GPU available RAM at startup (only)
- client: fix compile warning


svn path=/trunk/boinc/; revision=24188
2011-09-13 22:58:39 +00:00
Charlie Fenton a02c37cbce API: Fix compile errors and warnings, add documentation
svn path=/trunk/boinc/; revision=24101
2011-09-01 00:06:34 +00:00
David Anderson f1040e87ec - move boinc_get_opencl_ids() from lib/ to api/.
lib/ is for code that's used by >1 part of BOINC


svn path=/trunk/boinc/; revision=24093
2011-08-31 15:54:41 +00:00
Charlie Fenton f5a28b279d lib: rename boinc_getopencl_ids() to boinc_get_opencl_ids()
svn path=/trunk/boinc/; revision=24092
2011-08-31 11:18:29 +00:00
Charlie Fenton 69debb0743 lib: Add boinc_getopencl_ids() to be called by OpenCL project applications
svn path=/trunk/boinc/; revision=24091
2011-08-31 11:10:22 +00:00
Charlie Fenton 97f5146f2a define GPU_TYPE_NVIDIA, GPU_TYPE_ATI, use everywhere instead of literal strings "NVIDIA" and "ATI" to ensure uniformity
svn path=/trunk/boinc/; revision=24090
2011-08-31 11:08:13 +00:00
Charlie Fenton 01c4bb35c0 client: fix Linux compile errors
svn path=/trunk/boinc/; revision=24045
2011-08-25 08:32:56 +00:00
Charlie Fenton 2f881f920d lib: try to fix Linux build errors
svn path=/trunk/boinc/; revision=24037
2011-08-24 22:22:07 +00:00
Charlie Fenton 0e7909c97b lib, client: revert recent changes to restore unsigned long long so we can determine cause of Linux build errors
svn path=/trunk/boinc/; revision=24035
2011-08-24 21:41:02 +00:00