6.6.28 is now official BOINC Recommended version
For Mac OS X Version 10.3.9+ 6.6.29
Change LOG since 6.6.20:
Changes for 6.6.21
- GUI RPC: client side: if parse a RESULT and CPU is nonzero but elapsed time is zero, we must be talking to an old client; set elapsed = CPU
- client: (unix): if host name lookup fails, call res_init().
This is an attempt to fix a problem on Linux where, if the client starts before a VPN is set up, it can never communicate
- Mac: Add -lresolv to XCode linker flags for client and manager
- Mac: MGR: add standard Preferences item under BOINC menu; add -lresolv to XCode linker flags for screensaver
- client: show project name in "backoff ended" msg
- SS: Under Mac Sandbox security, gfx_switcher launches default ss app as user and group boinc_master; don't setgid boincscr
- Mac: Add -lresolv to XCode linker flags for ss_app and boinccmd
- SS: Under Mac Sandbox security, terminate default screensaver graphics app via gfx_switcher
- WINSCR: It appears newer notebook models with multiple video chipsets exhibit an interesting situation. It appears as though in certain conditions a single monitor machine actually reports itself as having three monitors. Normally the monitor that contains the primary window (coord 0,0) is on monitor 0, but on these machines coord 0,0 is actually on monitor 2. This led to the screensaver not properly exiting when keyboard and/or mouse activity was detected. Now when we detect that keyboard and/or mouse activity has happened we send the WM_INTERRUPTSAVER event to all windows on all monitors.
- WINSETUP: When uninstalling, don't migrate the client data back to the 5.x location.
- WINSETUP: On some setups, how we were including the 'Everyone' well known security ID in the boinc_users group didn't work properly.
From now on include the 'Everyone' security ID in the various ACLs instead. This will probley clean up a wide range of various issues with multi-user installs.
- web and client: change the default for "run_gpu_if_user_active" from true to false.
Currently running CUDA apps on NVIDIA GPUs causes a significant slowdown in GUI response.
- client: we were setting config defaults after parsing cmdline.
This meant that the cmdline args that set config params weren't working:
- MGR: Fix compatibility problem with sizing of all-projects list in Attach Project Wizard on wxWidgets 2.8.8 or later
- XCode Project chenages created automatically by updating XCode to version 3.1.2
Changes for 6.6.22
- client: back out res_init() change; it didn't work
- Mac: build MGR with wxWidgets 2.8.10; Remove -lresolv from XCode linker flags
- Mac client: fill in command field of PROCINFO struct so <exclusive_app> log flag works properly on Mac.
- XCode Project changes created automatically by updating XCode to version 3.1.2
- client: for each app version, keep track of the largest WSS of tasks using it.
In checking whether tasks fit in RAM, use this as an estimate for tasks that haven't started yet.
This avoids a situation where the client starts a lot of tasks in sequence, only to find that each one doesn't fit in RAM.
- manager: show execution directory in task properties
- graphics API: add rotation arg to txf_render_string() (from Carl C.)
- Mac client: fill in command field of PROCINFO struct more efficiently
- graphics API: full-on 3D rotation of text
- WINSETUP: Be sure to define INSTALLDIR if it isn't already defined by the system or the transform. DATADIR was already being handled.
- WINSETUP: Save setup state at the end of the execution phase as well as the end of the UI phase.
Changes for 6.6.23
- client: for coproc jobs, don't start a job while a quit is pending. Otherwise the new job may fail on memory allocation.
- client: instead of scheduling coproc jobs EDF:
* first schedule jobs projected to miss deadline in EDF order
* then schedule remaining jobs in FIFO order
This is intended to reduce the number of preemptions of coproc jobs, and hence (since they are always preempted by quit) to reduce the wasted time due to checkpoint gaps.
- client: the CPU scheduling policy made use of the number of deadline misses in various places. This should include only the deadline misses of CPU jobs. So move "deadlines_missed" from RR_SIM_STATUS and PROJECT to RSC_PROJECT_WORK_FETCH so that we have separate counts for CPU and coproc jobs, and use the count for CPU jobs.
- GUI RPC: removed the rr_sim_deadlines_missed field from project descriptor. This is no longer meaningful, and it didn't seem to be used anywhere.
- GUI RPC and manager: send slot and show it in task properties rather than slot path (slot_path is defined only for apps with graphics app).
- client: put back the call to res_init() on lookup failure. Apparently it worked after all.
- client: Fix spelling mistake in Windows environment.
- client: for each app version, keep track of the largest WSS of tasks using it. In checking whether tasks fit in RAM, use this as an estimate for tasks that haven't started yet. This avoids a situation where the client starts a lot of tasks in sequence, only to find that each one doesn't fit in RAM.
Extra change for Mac OSX:
- Mac: Add -lresolv to XCode linker flags for client, manager boinccmd, screensaver; add #include of <resolv.h> to non-Windows network.cpp
Changes for 6.6.24
- client: eliminate the need to write the state file on each checkpoint.
Instead, write the info into a file in the slot directory, and check for these files on startup. This should reduce the overhead of state-file writing on machines with lots of cores. There will still be a flurry of writes each time a job finishes, but reducing that overhead would be a larger job.
- client: make sure we write the state file after a failed RPC.
- SS: launch default screensaver graphics app as user and group boinc_project, not boinc_master.
- Fix compiler errors ( From: Sascha Manns )
- Unix build: make it work if "diff" is missing (??)
from Michael Tughan
- Add ICU to the BOINC depends list. It is needed for SQLLite3 which will be needed for reading Firefox 3.x cookies.
- Mac MGR: Add keyboard shortcuts command-shift-S, command-shift-A to switch views
- client: fixed a crash caused by using %f to write working-set size into a fixed-size buffer. use %e instead. TODO: figure out why WSS was huge.
- fix app_plan crash (fixes #874)
- client: if detach a project, adjust debts and trigger CPU sched and work fetch.
- Mac MGR: Changes to build with full Unicode support with wxWidgets-2.8.10
- Fix GPL License
- MGR: Put keyboard shortcuts CTRL+SHIFT+S and CTRL+SHIFT+A in View Menu so their functionality is not hidden.
- client: improve CPU sched debug messages (say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes #879
- client: new approach to handling multiple GPUs.
old: find fastest GPU, and pretend that others are the same.
Problem: other GPUs might be less capable, and not able to handle jobs sent by server.
new: find the most "capable" GPU, use others that are equivalent, don't use those that are not.
"Capable" is defined by
* compute capability (i.e., hardware version)
* driver version
* memory size
in that priority order.
- client: fix crash bug in CUDA init
- client: When a preemptable task wasn't preempted (e.g. because it hadn't finished its time slice).
we were failing to mark it as scheduled.
Changes for 6.6.25
- client: message tweak
- client: tweak to 4/21 checkin.
After finding the "most capable" GPU, ignore FLOPS in deciding what GPUs are equivalent to it. This opens up the possibility that the client will get jobs that it won't be able to finish in time. But it still avoids getting jobs that will crash.
- fix typo in compare_cuda()
- client: show message when user does a project or task op (suspend, resume, update, etc.)
- client: add <use_all_gpus> config option. If set, use GPUs even if they're not equivalent to the most capable one.
Changes for 6.6.26
- Remove 10 corrupted languages which haven't seen an update since the conversion to SVN and updated them with current languages.
- removed outdated translation files; updated template
- Changes to get the client to build on IRIX:
don't use the variable name "sgi"; include <xxx.h> instead of <cxxx>; the latter just adds overloaded functions that we avoid.
- MGR: Turn GetViewName? into the unlocalized version of the view name, so the configuration group name is consistant across all languages and does not cause conversion issues on different platforms where the configuration information is treated differently when compiled Unicode vs. ANSI
Changes for 6.6.27
- removed outdated translation files; updated template
- client: view 2 GPUs as equivalent if their memory differs by <30%. (maybe their memory differed slightly from the most capable one)
- client: simplify enforce_schedule(), and maybe fix bugs.
New approach: take the "ordered_schedule_results" list, add running jobs that haven't finished their time slice, and order the result appropriately. Then run jobs in order until CPUs are filled. Simpler and clearer than the old way.
= client: fix compiler warning
Changes for 6.6.28
- client: enforce_schedule() wasn't starting GPU jobs
- Update Translations
Changes for 6.6.29 -for MAC
- MGR: Add comments and slightly reorder code for clarity
- client: write message (and show new config info) when config file reread
- client: improve cpu_sched_debug messages
- web translation: code wasn't handling multi-line tokens
- client, Mac: don't do res_init(). It causes a crash.
- client (Unix): if client crashes while benchmark processes are going, make sure they detect this and exit.
- Client: don't do res_init() on Mac, if client crashes during benchmarks, exit benchmarks on UNIX.
- Mac: Remove -lresolv from XCode linker flags for client, manager, boinccmd and screensaver
- Mac client: fix parent died test in benchmark_time_to_stop()
Based on this tread
POLISH NATIONAL TEAM - Join! Crunch! Win!