7.2.34

Aus BC-Wiki
Zur Navigation springen Zur Suche springen

7x

  • locale: Update compiled localization files
  • client: apply CPU throttling to all tasks except non-CPU-intensive or app version is marked as no-throttle; in particular, apply it to GPU apps regardless of their CPU usage
  • client: fix bugs with CPU throttling and GPU apps
  • Various bad things could happen when CPU throttling was used together w/ GPU apps. Examples:
    • on a multi-GPU system, several GPU tasks are assigned to the same GPU
    • a suspended GPU task remains in memory (tying up its GPU resources) while other tasks try to use the GPU. The problem was that parts of the code assumed that suspended GPU processes don't exist - i.e. that when a GPU task is suspended it's always removed from memory. This isn't true in the presence of CPU throttling. So I made the following changes:
    • When assigning GPUs to tasks, treat suspended tasks like running tasks (i.e. reserve their GPUs)
    • At the end of the CPU-scheduling logic, if there are any GPU tasks that are suspended and not scheduled, remove them from memory, and trigger a reschedule so we can reallocate their GPUs. Also, a cosmetic change: in the resource usage string shown in the GUI, include "(device X)" even if the task is suspended (i.e. because of throttling). Also: zero out COPROC::opencl_device_indexes[] so we don't write a garbage number to init_data.xml for non-OpenCL jobs
  • MGR: Store the ISO language ID for future use. Usage: wxString strLang = wxGetApp().GetISOLanguageID();
  • MGR: Bug fix to my previous commit, initialize string after we initialize the wxLocale object with the proper locale information.
  • Client and Manager: make notices translatable
    • Add a GUI RPC ("set_language") that lets the Manager communicate the user's selected language code to the client at startup.
    • The client stores the language code in the client state file
    • The client appends a "lang=X" GET argument to the URLs from which notices are fetched.
    • The next steps (not done) are 1) to change the get_notices.php script to parse the argument and do translation, and 2) extend our Pootle system to allow volunteer translation of notices by all projects.
  • Added replacement for ether_ntoa() on hosts that don't have it.
  • Get rid of warning in unix_util.cpp.