Commit Graph

41 Commits

Author SHA1 Message Date
David Anderson 34408c3122 client: don't start var names with __ 2017-04-13 09:16:58 -07:00
Charlie Fenton ae97e08a95 client: Mac: continue replacing deprecated Mac APIs 2017-02-25 04:56:12 -08:00
Christian Beer dcd9eb3c2e Client: fix nvidia_driver_version dlopen()
On Debian only the versioned object can be opened. It usually is a symlink to the actual file.
2016-04-05 07:43:22 +02:00
Charlie Fenton 31446d1cb9 client: Update commits 5c1fa20 & 5e984c0: when Mac is booted, it can take over 120 seconds before system extension CUDA.kext is loaded (fix occasional failure to recognize CUDA devices when BOINC is launched automatically at login before CUDA has initialized at system boot.) 2016-01-20 04:23:57 -08:00
David Anderson bc8b9a5d9e client (Unix): use dlerror() for GPU library failures; shows the filename 2015-12-04 17:54:34 -08:00
Charlie Fenton 4a536c7cba client: Fix crash bug introduced in commits f0df42e and 1618ce3: do not dlclose(cudalib) until after we are finished using the CUDA library. Also added corresponding FreeLibrary(cudalib) for MS Windows builds. 2015-12-03 02:12:31 -08:00
Charlie Fenton 259ed89c46 client: Fix bug in detecting CUDA GPUs on Macs which was exposed by commits 7be9ff7 and d0005d7. 2015-11-21 05:18:17 -08:00
Charlie Fenton 2df170ebda client: Fix bug in detecting CUDA GPUs on Macs which was exposed by commits 7be9ff7 and d0005d7. 2015-11-21 04:56:51 -08:00
David Anderson f0df42efbd client (Unix): dlclose() dynamic libraries in GPU code 2015-10-21 08:34:02 -07:00
Charlie Fenton b8bd091a64 client: fix source code indentation from previous commit. 2015-09-28 03:08:00 -07:00
Charlie Fenton 5e984c0778 client: Fix an issue which can sometimes cause client to take a long time to connect, especially on OS 10.10 Yosemite. 2015-09-28 03:04:50 -07:00
Charlie Fenton 5c1fa20254 client: On Macs, fix failure to recognize CUDA devices when BOINC is launched automatically at login before CUDA has initialized at system boot. 2015-08-14 04:03:38 -07:00
Charlie Fenton 408003dd71 client: Allow using NVIDIA GPUs with Compute Capability < 2.0 with CUDA driver 6.5 or later on non-Mac platforms. Future versions of CUDA will drop support for these GPUs on all platforms and presumably not report these GPUs, so we still explain that situation in the Event Log and Notices. 2014-11-05 02:12:41 -08:00
Charlie Fenton 62e70a8e98 client: Handle future versions of CUDA which may not report NVIDIA GPUs with Compute Capability < 2.0 at all; prevent use of those GPUs for OpenCL and show explanation in Event Log and Notices. 2014-10-26 04:12:01 -07:00
Charlie Fenton 5a8b1a2d21 client: If CUDA driver 6.5 or later is installed, prevent use of NVIDIA GPUs with Compute Capability < 2.0 and show explanation in Event Log and Notices. 2014-10-25 06:44:08 -07:00
Charlie Fenton b2fefc885b client: If CUDA driver 6.5 or later is installed, prevent use of NVIDIA GPUs with Compute Capability < 2.0 and show explanation in Event Log and Notices. 2014-10-25 05:21:48 -07:00
Charlie Fenton 4726923ef8 client: If CUDA driver 6.5 or later is installed, prevent use of NVIDIA GPUs with Compute Capability < 2.0 and show explanation in Event Log and Notices. 2014-10-25 03:55:29 -07:00
David Anderson 1e2fcb4b68 client/lib: change CONFIG to CC_CONFIG, config to cc_config.
Eliminates ambiguity of "config" global var, which is used in server code.
This confuses IDEs that are looking at all the code at once.
2014-05-08 00:51:18 -07:00
U-X1\korpela b523e16c85 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-05-02 07:41:41 -07:00
David Anderson 6a8eab73cd replace tab characters with spaces 2014-05-01 21:03:49 -07:00
David Anderson 4539c96e8c Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-05-01 19:52:13 -07:00
David Anderson fab00f1100 Use new (non-deprecated) NvAPI call to get driver version 2014-05-01 19:51:58 -07:00
U-X1\korpela 583c336fd9 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-05-01 10:37:18 -07:00
U-X1\korpela ad25a639f9 Fixes for compiling without the sam.h macros. 2014-05-01 10:15:34 -07:00
Charlie Fenton 386805ebce client: fix compiler warning on Mac introduced by commit 450f680. 2014-05-01 02:26:23 -07:00
U-X1\korpela c6995ce06b These files aren't modified. Git claims otherwise.
Subversion was so much better then git.  I spend all my effing time dealing
with git's issues.  What a PITA.
2014-04-29 07:59:06 -07:00
Rom Walton af4a5acc2e client: Fix build break on Windows. 2014-04-28 14:48:21 -04:00
David Anderson 4901e27282 client: don't include GPUs that lack OpenCL/Cal/CUDA when main GPU has it
E.g.: if the "best" AMD GPU can do OpenCL, don't include AMD GPUs that can't,
even if use_all_gpus is set.
Otherwise lots of jobs will error out.
2014-04-26 09:05:00 -07:00
David Anderson 450f680880 client: detect NVIDIA driver version on Linux; from Matt Harvey 2014-04-24 09:41:23 -07:00
Charlie Fenton 631e236b08 client: tweaks to code for detecting GPUs via a child process.
Added safety features requested by Rom Walton:
* Change COPROC_ATI::get_available_ram and  COPROC_NVIDIA::get_available_ram to static routines to prevent calling them without first loading CAL or CUDA libraries.
* Add tests for NULL library calls in these routines.
* Add comments warning about need to call from a separate child process on dual-GPU laptops, proper library initialization, etc.
2013-06-27 02:36:20 -07:00
Charlie Fenton 4d74c5abbd client: tweaks to code for detecting GPUs via a child process and change sprintf calls to safer snprintf. 2013-06-26 05:00:25 -07:00
Charlie Fenton e2b2370e9d client: optionally detect GPUs via a child process, for dual_GPU laptops.
Some dual-GPU laptops (e.g., Macbook Pro) don't power down the more powerful GPU until  all applications which used them exit.  To save battery life, the client launches a second instance of the client as a child process to detect and get info about the GPUs.
The child process writes the info to a temp file which our main client then reads.
This option is enabled at compile time by defining USE_CHILD_PROCESS_TO_DETECT_GPUS as non-zero in gpu_detect.cpp
2013-06-25 04:31:34 -07:00
Rom Walton 26f9e380d9 - client: Initialize the total mem size_t.
svn path=/trunk/boinc/; revision=26116
2012-09-14 18:00:06 +00:00
Charlie Fenton aff3b7675c client: Don't support CUDA on dual-GPU MacBooks with automatic GPU switching to save battery power
svn path=/trunk/boinc/; revision=26088
2012-09-12 10:05:41 +00:00
Rom Walton 2882d5bc29 - client: initialize memfree and memtotal before use for Nvidia
cards.  It appears that the Nvidia API was only setting 32-bits
        of the 64-bit value.  The remaining 32-bits were whatever
        was on the stack.
        
    client/
        gpu_nvidia.cpp

svn path=/trunk/boinc/; revision=26084
2012-09-10 17:56:09 +00:00
David Anderson 446bc4ca28 - client: take GPU exclusions into account when making
initial work request to a project
- client: put some casts to double in NVIDIA detect code.
    Shouldn't make any difference.
- volunteer storage: truncate file to right size after retrieval


svn path=/trunk/boinc/; revision=26051
2012-08-20 23:41:27 +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 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 5e61c29cc3 - client: split GPU detection code into separate files
svn path=/trunk/boinc/; revision=25771
2012-06-18 20:12:30 +00:00