Commit Graph

5049 Commits

Author SHA1 Message Date
Rom Walton 1deb7a13bb android: fix build break 2013-08-23 15:47:39 -04:00
David Anderson b10348ca1a client (Android): use random string for domain name
- parse domain_name from state file
- if it's empty, generate one of the form android_xxxxxxxx
- don't use MAC address
2013-08-22 23:50:13 -07:00
David Anderson 6b5285ba04 client: more MAXPATHLEN fixes 2013-08-22 17:06:09 -07:00
Charlie Fenton 53eceeb71e client: better error handling for OpenCL CPUs 2013-08-22 07:25:36 -07:00
Charlie Fenton 8a2d5d8c50 client: better error handling for OpenCL CPUs 2013-08-22 07:02:59 -07:00
Charlie Fenton c5724ca325 client: For compatibility with boinc_get_opencl_ids(), don't include CPU when enumerating opencl_dev_index 2013-08-22 06:16:36 -07:00
Charlie Fenton eb15b04d4a client: implement support for OpenCL detection of CPUs
Notes:
- The same CPU can have a different cpu_opencl_prop for each of multiple OpenCL platforms.  We send them all to the project server because:
   - Different OpenCL platforms report different values for the same CPU.
   - Some OpenCL CPU apps may work better with certain OpenCL platforms.
- OpenCL has only 64 bits for global_mem_size, so it can report a max of only 4GB; get the CPU RAM size from gstate.hostinfo.m_nbytes.
2013-08-22 05:06:54 -07:00
David Anderson e401380d5c admin web: fix PHP errors in failure page 2013-08-16 22:21:12 -07:00
David Anderson fc8eca4216 client: if we request work from a project and don't get any notices, clear that project's scheduler notices
I.e. if you got an "insufficient disk space" notices, and you fixed the problem, the notice should go away.
2013-08-13 14:56:37 -07:00
David Anderson 18f797b6bf client (Android): in check_suspend_processing(), check CPU throttling last. That way if suspend_reason is CPU_THROTTLING, the GUI knows that there is no other source of suspension. 2013-08-13 14:16:18 -07:00
David Anderson d980f70163 client and manager: the set_cc_config and get_cc_config GUI RPCs had nonstandard replies, which weren't parsed correctly by the calling code.
The reply from a GUI RPC that don't return info is one of:
<success/>
<error>error message</error>
<status>N</status>
2013-08-11 00:23:41 -07:00
David Anderson 9607f3342c client, FreeBSD: report "pni" instead of "sse3" 2013-08-08 11:52:01 -07:00
David Anderson 1dac077a05 client: message tweak 2013-08-08 10:59:49 -07:00
David Anderson 59ba61b323 client (Android): don't use network preferences
Many Android users had existing preferences with settings like
"don't compute when idle" that make sense for PCs but not mobile devices.
When this pref is enforced on Android, no computing happens
and user confusion results.
We're addressing this by using only local prefs on Android.
We considered other approaches - e.g. having a "mobile" venue -
but they're too complex.
2013-08-04 15:13:26 -07:00
David Anderson c3485cd6a9 client (Android): allow GUI to pass MAC address to client via set_host_info(). If domain name is "localhost" and MAC address is nonempty, use MAC address instead of domain name when showing host on project web page. 2013-08-03 18:42:11 -07:00
David Anderson 9d43d18011 client: include project resource shares in account manager request message 2013-08-03 13:13:54 -07:00
David Anderson e2901ebf9a client: initialize device_status_time (shouldn't make any difference) 2013-08-02 13:34:44 -07:00
David Anderson e85a18289e client (win): fix typo in last commit 2013-07-30 10:47:54 -07:00
David Anderson 57afbc26ba client: improved CPU type and feature detection. From [P3D Crashtest] 2013-07-30 10:35:45 -07:00
Charlie Fenton 7d372d2803 Fix warnings of class or global variables shadowed by local variables or arguments 2013-07-29 01:31:09 -07:00
Joachim Fritzsch 9ac8818c19 android: attempt to fix bug #1300, number of cpu cores detection.
Parsing information at /sys/devices/system/cpu/present should represent possible number of CPUs indepentendly of CPU throttling.
2013-07-24 15:21:06 +02:00
Rom Walton 9b2d0f992f client: Add detection of the AVX instruction set for newer processors 2013-07-22 13:08:36 -04:00
Joachim Fritzsch 520b9852d7 android: bug fix for number cpu core detection. issue #1300.
previous attempt to only read sysconf for number of cores is insufficient, due to a bug in the Android system. Bug got fixed in April 2012 but is still present on many devices.

workaround: read /sys/devices/system/cpu and parse number of cores from there. sysconf uses /proc/stat/ which gets adapted to changes in cpu throttling. Read both sources and compare higher results.
2013-07-17 14:01:39 +02:00
David Anderson 4d0109e3fb Client: add test harness for file copy (make sure we can handle > 2GB) 2013-07-16 21:40:13 -07:00
Charlie Fenton 9ff8554ee4 client: when launching the GPU detection child process, use boinc_fopen(), more checks for error returns. 2013-07-16 01:29:00 -07:00
Rom Walton 8321ef0430 client: Use get_exit_status to wait until the GPU detection process completes and log any error code. 2013-07-15 19:42:21 -04:00
Charlie Fenton 88135a7000 client: wait as long as necessary for the GPU detection child process to exit: eliminate the 3-second limit. 2013-07-15 14:43:29 -07:00
David Anderson 338487fd13 client: don't write name twice in job log 2013-07-14 22:56:37 -07:00
David Anderson 8949c04a77 client: add exit status and result name to job log entries 2013-07-14 13:19:22 -07:00
David Anderson abfd522840 client: if system clock goes backward, show details in event log 2013-07-14 11:54:20 -07:00
David Anderson f654cf947e client: parse <client_new_version_text> in cc_config.xml 2013-07-13 16:45:15 -07:00
David Anderson ba6fbc8071 client: if suspend for battery reasons, show parameters in event log
E.g., if suspend because battery temperature,
show current temperature and temperature limit.
Could do this for other things too, e.g. exclusive apps.
2013-07-13 16:31:25 -07:00
Joachim Fritzsch bcaf537228 android: bug fix for changing p_ncpus in host_info. issue #1300.
previous attempt to acquire full wake lock during setup routine has not fixed this bug.

changed p_ncpus detection from sysconf(_SC_NPRROCESSORS_ONLN) to _SC_NPROCESSORS_CONF in client's get_host_info for Android devices.
2013-07-13 13:46:29 +02:00
Charlie Fenton 1d590434ea client: Fix a race condition on system reboot when using a child process for detecting GPUs, add debugging support to child process. 2013-07-12 18:35:47 -07:00
Rom Walton 07017027d5 client: Clearing the devnums_pci_slot_sort vector after the first Nvidia OpenCL device is detected causes a SIGSEGV for any subsequent Nvidia OpenCL device detections. 2013-07-11 00:52:43 -04:00
Charlie Fenton 27d611c505 client: compile fix for non-Windows builds. 2013-07-10 00:05:27 -07:00
David Anderson 4774296d1b client: API test harness tweak 2013-07-09 17:44:03 -07:00
David Anderson 78c295c5de client: compile fix 2013-07-09 16:39:04 -07:00
David Anderson faae3aac3a client: tweaks for API test harness - parse cc_config.xml 2013-07-09 16:21:33 -07:00
David Anderson b52d98b640 client: change per-project runnable job limit to a flat 1000 2013-07-09 13:52:50 -07:00
David Anderson 782a11e22f client: don't fetch work if project has > max(2000, ncpus*100) runnable jobs 2013-07-09 11:17:56 -07:00
David Anderson a8485f3d3f Various: Fix some compile warnings; from Gianfranco 2013-07-09 10:34:32 -07:00
Charlie Fenton 0feedfe811 client: Fixes for launching a child process for detecting GPUs.
We must call parse_cmdline() to set the working directory before read_config_file().
2013-07-09 07:37:01 -07:00
Charlie Fenton 3c3318a867 client: Fixes for launching a child process for detecting GPUs.
Allow relative path to the client executable.
Bug fix: last item in arg list for run_program() should be NULL, not empty string.
2013-07-09 05:55:53 -07:00
David Anderson 4d47e2f170 client: don't request work from a project w/ > 1000 runnable jobs
Because of O(N^2) algorithms, the client becomes CPU-intensive
when there are lots of jobs.
This limit could be somewhat lower.
2013-07-07 13:13:57 -07:00
David Anderson 4cb34a123a client: don't apply CPU throttling to apps that use < .5 CPUs (like GPU, NCI) 2013-07-05 20:48:35 -07:00
David Anderson 93c970f87c client: compile fix for Win 2013-07-05 14:18:45 -07:00
David Anderson 519a0bcbef API: add test harness for the runtime system
- If you run the client with --run_test_app,
  runs "test_app" in the current directory and interacts with it
  (and does nothing else).
  It can suspend/resume it with arbitrary timing;
  this is controlled in run_test_app() (app_start.cpp).
- example app: add --critical_section option.
  This lets you test the runtime system for apps that do
  most of their work in a critical section (like GPU apps).
- Add some logging messages (conditioned by DEBUG_BOINC_API)
  to the runtime system.
- boinc_finish() waits for the timer thread to write final messages;
  make sure it doesn't do anything else
  (like suspend the worker thread) during this period
2013-07-04 16:00:10 -07:00
David Anderson 46733f2747 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-07-03 11:13:54 -07:00
Charlie Fenton 4b82bac42b client: fix compiler warning. 2013-07-03 02:34:43 -07:00