7.0.12

Aus BC-Wiki
Zur Navigation springen Zur Suche springen

Zur Übersicht

  • VBOX: Fix another issue that was a result of Saturdays commit. Make sure that the vm_name variable is populated with something useful if resuming from a previous execution of the wrapper.
  • VBOX: Use the documented way to reset the UUID of a virtual hard disk. Thanks Daniel.
  • Manager: in project web links, use "Home Page" instead of the project name (which could be very long)
  • client: parse HOST_INFO::p_vm_extensions_disabled correctly
  • Mac installer: If installing under OS 10.4, create users and groups boinc_master and boinc_project at first available UserIDs and GroupIDs starting at 25 instead of 501 to prevent problems with Accounts pane of System Preferences.
  • storage simulator work
  • client: Show GPU number in "GPU is OpenCL-capable" message.
  • OpenCL: Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned by CUDA. Since there is no CAL for Mac, this is not an issue for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers also provide OpenCL support, so we don't expect the problem there. Solution: I believe that CUDA and OpenCL return identical GPU model names for the same GPU, and that both return the GPUs in the same order (but with some possibly omitted from the OpenCL sequence.) We use that information to correlate the OpenCL data with CUDA data. We use our internal CUDA device_num for the corresponding OpenCL device, but add a new field opencl_device_index; the two fields are equal unless we have CUDA devices not recognized by OpenCL. We add a new array opencl_device_indexes[] to the COPROC struct, corresponding to the entries in device_nums[]. The init_data.xml file now has a new field gpu_opencl_device_index. If this field exists, the boinc_get_opencl_ids() API uses this to find the cl_device_id and cl_platform_id, otherwise it continues to use the value in gpu_device_num.
  • client: add a mechanism for restartable download of compressed files. (It turns out that the compression schemes supported by Apache and libcurl, suprisingly, aren't restartable.) if a <file_info> from the server contains <gzipped_url> tags, use those instead of the <url> tags, and flag the file as "download_gzipped". If this is the case, download NAME.gz and save it as NAME.gzt. When the download is complete, rename NAME.gzt to NAME.gz, and uncompress it to NAME.(this ensures that if NAME.gz is present, it's complete). Also do the uncompression, if needed, in verify_file(). This ensures that the uncompression will eventually get done even if the client quits are crashes in the middle.
  • VBOX: Enable the wrapper to handle fractional CPU usage. If the server specifies 1.1 CPUs used, allocate 2 CPUs to be used in VirtualBox.
  • sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough whole CPUs for Virtualbox. Ideally this will cause the BOINC client-side scheduler to use the remaining fraction of the CPU for GPU data transfer which will then free up one whole CPU for another job. All without over-commiting anything.
  • GUI RPC: switching to the new XML parser (which won't parse a double as an int) revealed a type mismatch in FILE_TRANSFER::next_request_time between client and server.
  • client: fix divide-by-zero bug in calculation of priority of projects with zero resource share
  • MGR: Tweak the z-order of BOINC Manager owned windows a little bit. Image a case where BOINC Manager and the BOINC Manager event log live side-by-side or only slightly overlapped, and the user wants to use a full screen/maximized window. If the bring the BOINC manager window back into focus while that app is still running make sure the event log comes forward as well. The event log should appear behind the main window in the case they are overlapped.
  • client - Remove Mac OSX 10.3.9 hack, it is no longer needed.
  • scheduler: initialize COPROC_ATI::version to zero; avoid sending spurious "update driver" messages
  • Mac: If permissions error because unable to opendir() a subdirectory, show path to that subdirectory.
  • VBOX: Demote the priority level of the VM process to try and prevent latency issues for volunteers.
  • VBOX: If the port forwarding preferred port isn't usable, try asking the OS for one.
  • VBOX: On a failure, get the VM process exit code and report it with the rest of the stderr spew.
  • client: treat the gzt file extension like we do for the gz file extension. Disable libcurls ability to decompress on-the-fly and let the CC decompress it after it has been fully downloaded.
  • client: when deleting a file, check for .gzt and .gz variants as well
  • client: bug fixes in gzipped download code
  • client: undo my previous commit. We request .gz from the server and write the contents to a .gzt file.
  • VBOX: Fix build breaks for Linux and Mac.
  • client: Fix long standing issue with the .gz extension automatically being decompressed on-the-fly when it wasn't supposed to be.
  • VBOX: Fix compiler warnings on Mac.
  • MGR: Make the task pane in the advanced view and its buttons fixed sizes; ellipse the button contents if needed; show full button text plus description in button tooltips; don't set button labels if unchanged.
  • client: parse and write the compressed size (FILE_INFO::gzipped_nbytes). For get_transfer GUI RPCs, if it's a compressed download send the compressed size. That way the manager will show the fraction done correctly.
  • client: disable temporary debugging aids in coproc_detect logic.
  • client: fix write of gzipped_nbytes