Preliminary Change Log 7.1.18 --> 7.2.1(Show/Hide)
MGR: revert my changes 3ea6711 and 429c699: a value of 0 for max_ncpus_pct means "ignore", not "100%; added "(0 means ignore this setting)" to the Advanced Computing Preferences dialog.
LOC: Attempt to discard fuzzy matched strings. It isn't clear to me right now if Pootle will attempt to read the newer po file before applying the template.
Mac uninstaller: use OS X API to localize directory paths instead of having volunteer translators to do it.
client: AMD GPU ID tweaks, from [P3D] Crashtest.
client, Android: always use mmap instead of shmget for client/app comm.
client: if idle instance, fetch work even if uploading.
LOC: Update Translations.
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
client: fix compile break on Windows.
client: bug fix for detecting GPUs via a child process.
client: fix bug in commit c8e1b51: matching of ATI/AMD CAL and OpenCL GPU enumeration for (most) cases where CAL supports some older GPUs but OpenCL does not.
client: tweaks to code for detecting GPUs via a child process and change sprintf calls to safer snprintf.
client: tweaks to code for detecting GPUs via a child process.
client: don't request work from NCI project if "no new work" set.
WINBUILD: Remove stale project files (Charity Engine).
WINBUILD: Remove stale project files (Progress Thru Processors).
WINBUILD: New project files (Charity Engine).
WINBUILD: New project files (GridRepublic).
WINBUILD: New project files (Progress Thru Processors).
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.
WINBUILD: Remove stale installer files (packages were never used anyway).
client: apparently CUDA does not always report GPUs in order of ascending PCI slot number, but Apple's OpenCL does. We must take this into account win correlating NVIDIA OpenCL GPUs with CUDA GPUs.
Since NVIDIA provides drivers for both OpenCL and CUDA on Windows and Linux, I am assuming (until shown otherwise) that they will report GPUs in the same order.
WINBUILD: Remove outdated installer files.
client: use a child process for detecting GPUs on all platforms, not just on Macs.
client: minor housekeeping cleanup when correlating CUDA GPU reporting order with Apple's OpenCL.
WINBUILD: Update Charity Engine Installer.
WINBUILD: Fix the shortcut to launch Charity Engine.
WINBUILD: Fix out of place reference to boincmgr.exe in Charity Engine installer.
WINBUILD: Update Progress Thru Processor's installer files.
WINBUILD: Updates for PTP's default screensaver.
WINBUILD: Set the default skin to Charity Engine on installation.
WINBUILD: Set the default skin to Progress Thru Processors on installation.
client: Add the various OS compatibility shreds to the assembly manifest so we can properly detect Windows 8.1 or better.
Mac installer: fix crash bug, improve translations.
client: fix display of CUDA version.
client: mostly revert dddf586, which could lead to way overcommitted CPU.
client: fix compiler warning.
API: fix synchronization problem that could make apps nonresponsive.
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.
client: compile fix for Windows.
client: don't apply CPU throttling to apps that use < .5 CPUs (like GPU, NCI).
client: don't request work from a project w/ > 1000 runnable jobs.
Because of O(N2) algorithms, the client becomes CPU-intensive when there are lots of jobs.
This limit could be somewhat lower.
API: compile fix for newer gcc on Unix.
Preliminary Change Log 7.2.1 --> 7.2.2(Show/Hide)
VBOX: Add an additional error check to determine if a stale VM needs to be unregistered.
MGR: bug fix: last item in arg list for run_program() should be NULL, not empty string.
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.
client: Fixes for launching a child process for detecting GPUs.
We must call parse_cmdline() to set the working directory before read_config_file().
Various: Fix some compile warnings; from Gianfranco.
client: don't fetch work if project has > max(2000, ncpus*100) runnable jobs.
Manager and GUI RPC: fix bugs that caused bad Intel GPU backoff display.
Update all_projects_list.xml for stock installers as well as Android.
client: change per-project runnable job limit to a flat 1000.
Preliminary Change Log 7.2.2 --> 7.2.3(Show/Hide)
API: use OpenProcess(), not EnumProcesses(), to see if client is still alive.
API: fix last commit; need a DesiredAccess arg to OpenProcess()
client: tweaks for API test harness - parse cc_config.xml
API: remove logic that makes new app graphics work with version 5 clients.
client: compile fix.
API: Win bug fix: need to create mutex initially free.
client: API test harness tweak.
client: compile fix for non-Windows builds.
Ignore the PTP installer temp directory.
WINBUILD: Fix the PTP splash screen in the installer.
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.
Preliminary Change Log 7.2.3 --> 7.2.4 (Show/Hide)
CERT: Update all the root CAs to the latest and greatest from Mozilla. Current version works with WCG.