This is now the release version. I'll start a seperate thread for the next development version...
REMINDER TO ALL TESTERS:
It's far easier for us to fix problems if you send message logs with the appropriate flags set. The main flags are:
<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
Use these flags from the cc_config.xml file.
Report any problems you get with it to the Alpha email list. This list needs registration.
Change log since 6.10.43 (6.10.44 for Mac)...
- client: fix bug that randomly caused idle GPUs
- client: make GPU available RAM measurement #ifdef-selectable, and default it to off
- client: if we print available GPU RAM (which we now don't) have a separate timer per GPU type
- client: enable bandwidth quota limit only if both #MB and #days are nonzero.
- client: fix memory leak
- client: when emerge from bandwidth quota network suspension, add 0..1hr random delay to existing transfers, to avoid DDOS effect
- manager: if a project has pending trickle up, show it in the project status
- client: fix time-zone offset in net BW quota
- client: fix messages: asking for X instances doesn't mean that X instances are idle
- manager: if user clicks Retry in Transfer tab while network is suspended, show an alert
- manager: in transfers tab, show it if transfers are suspended because network is suspended
- manager: in tasks tab, if a task is downloading or uploading and network is suspended, show it
- client: day boundary for "transfer at most X in N days" is midnight local time, not UTC
- client: fix build break
- manager: fix tooltip msgs
- client: Restore RUN_MODE_ALWAYS functionality in network suspension logic which was lost in code cleanup of 26 Apr 2010.
- client: clean up network suspension logic. There are now separate flags for "file_xfers_suspended": don't do file transfers "network_suspended": don't do any network comm (scheduler RPCs, RSS fetch, master fetch, etc.) The policy: if preferences/settings say no network (quota exceeded, no-network mode, user active, time, excl. app) then: file_xfers_suspended = true, if (no recent network-related RPC) network_suspended = true 1504
- client: write daily net history on shutdown
- client: remove extraneous calls to calShutdown() in ATIs available-RAM code.
- client: network bandwidth total was counting 1 day too many
- client simulator: start GPU support
- CC: Reduce how often the client reports the amount of available VRAM to once every 60 seconds.
- rename prefs.daily_xfer_period to daily_xfer_period_days
- manager: add network quota to advanced prefs dialog
- client: Win: kill runaway apps using TerminateProcess() rather than TerminateProcessById(). The latter doesn't work in protected mode.
- client: pid_handle => process_handle. misnomer
- client: report daily xfer stats in scheduler request (not used by scheduler, but maybe later)
- client: keep track of daily history of network transfers
- client: add preference for limiting network xfers in last N days (no GUI yet)
- client: Add get_network_usage_totals() function to the Macintosh client to report the number of bytes sent and received across all non-loopback interfaces. Note: this code may also work on onther UNIX-like systems in addition to Macintosh
- client: fix bug with NVIDIA GPUs. Some of them allow only 1 CUDA context at a time. You need to create a CUDA context to get available VRAM. So the client would run a CUDA job, then immediately kill it. Solution:
. If a GPU app is running, let it keep running regardless of available VRAM (if it's still running, it has enough VRAM).
. But don't start new apps if there's not enough available VRAM, or it the amount is unknown (if the client can't create a CUDA context, the app won't be able to either)
- client: if <coproc_debug> is set, print available GPU RAM periodically
- client: show "waiting for GPU memory" in task status
- client: don't do RSS fetch if network suspended
- client: don't include graphics apps in non-BOINC CPU time
- Mac SS: Optimize screensaver for OS 10.6.
- client: don't include graphics apps in non-BOINC CPU time (Mac).
- client: don't include graphics apps in non-BOINC CPU time (Unix).
- client: allow zero resource shares from account managers
- client: "allow_remote_gui_rpc" is available via cc_config.xml as well as command-line.
- client: show allow_remote_gui_rpc option, and contents of remote_host.cfg, in message log on startup
- client: code cleanup: move some options from CLIENT_STATE to OPTIONS
- client: revert ; remove project_init.xml only if attached to the project it specifies (requested by Kevin Reed)
- WINSETUP: Add support for the <team_name> tag in the Windows installer for the auto created project_init.xml file.
- client: attempt to fix bug where a GPU would be assigned to multiple jobs at the same time. I fixed one error (reference arg to assign_coprocs()) but I can't see why this would explain the problem. I added a lot of extra <coproc_debug> log messages.
- SS: Ignore SUSPEND_REASON_CPU_USAGE in SS coordinator, so it won't kill graphics apps for short-term CPU usage spikes (such as anti-virus.)
- client: Fix bug in determining non-BOINC CPU time (Mac).
- client: Add code for determining non-BOINC CPU time for GridRepublic and Progress Thru Processors clients (Mac & Windows).
- client: get rid of spurious "Using proxy settings from GUI" message
- client: Improve code for determining non-BOINC CPU time for branded clients (Mac & Windows).
- client: fix build break.
- MGR: Handle the Event Log's size better, pass in the correct dialog size to the dialog creation routines instead of setting the size after dialog initialization. Avoids artifacts and things having to be tweaked later.
- client: fix bug in mechanism that inhibits work fetch for a GPU if it lacks available memory
- Mac Installer: Set uninstaller's writeable-by-user permission bit so 3rd-party Unarchiver can inflate the Zip file (from Eric Myers).
- Mac Installer: AddRemoveUser utility accepts both full / login user names and short / Posix user names.
- client: improve GPU scheduling old: assign GPUs, then check available RAM Problem: may cause starvation on multi-GPU systems. New: use available RAM info in the assignment process. Prevents starvation, also reduces the number of driver calls.
- client: when a GPU job finishes, clear the "schedule backoff" of other jobs of that type. They're waiting for GPU RAM, which may now be available.
- client: bug fix in GPU RAM availability
- client: fix testing setup for GPU RAM availability
- client: clean up logic related to GPU available memory. If a driver call to get available mem fail, mark the GPU as unusable.
- Mac Installer: PostInstall gets short / Posix user name from getpwnam(), writes additional diagnostic information to installer log.
- client: show "waiting for GPU memory" in task status
- Mac: Update build instructions to replace dead link for downloading JPEG 6b sources.
- Mac: Build with c-ares 1.6.0 instead of c-ares 1.7.0, because the newer c-ares has problems resolving host names on OS 10.6 with default settings when used with AT&T U-Verse 2Wire gateway routers and Airport.
- Manager: fix bug in task properties app name display.
- client/manager: show "No CPU prefs" etc. in project properties.
- client/manager/GUI RPC: project_info.xml file can contain <team_name>. If present, and a new user account is created, it will be made a member of that team if it exists.
- MGR: Bad things happen when you don't initialize default values for variables under wxWidgets.
- client: NVIDIA peak FLOPS estimate was wrong for Fermi (32 cores, not 8).
- client: delete project_init.xml if attached to any project.
- manager: avoid divide by zero if the only project has zero resource share.
- client: Fermi compute capability is 2, not 3.
- client: give dynamic estimate (based on fraction done) a greater weight in time-to-completion estimate.
- Client: fix bug that caused wrong jobs to be run EDF (needed to initialize a var inside loop, not outside).
- client: clean out project dir on reset. Fixes #978
- client: read_file_malloc() must open file in binary mode, else it won't get the right part of the file.