Using GPU puts 1 CPU core (of 4) out of use

Message boards : GPUs : Using GPU puts 1 CPU core (of 4) out of use
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42388 - Posted: 1 Feb 2012, 18:06:45 UTC

I'm running a GPU computation that requires 0.13 of one of my CPU cores. So rather than let four CPU only tasks run and share out the average of 3.87 CPU's. Is there a way around this ? My total processor usage is now at 80% (Boinc + me) rather than 100%
ID: 42388 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 42389 - Posted: 1 Feb 2012, 18:11:17 UTC - in response to Message 42388.  

As ever, mention your BOINC version, which projects you are attached to, which projects you have work from, which projects you run, etc. etc. etc.

Without it there's not much we can do. We're not keeping track of who runs what.
ID: 42389 · Report as offensive
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42390 - Posted: 1 Feb 2012, 18:32:21 UTC

Ah sorry, I thought the main client handled work distribution.

I'm running 7.0.3 (x64). I am crunching Milkyway, world community grid, rosetta@home and GPUGRID. Currently milkyway and world community grid are running.
ID: 42390 · Report as offensive
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42391 - Posted: 1 Feb 2012, 21:40:52 UTC

just an update: now the damn thing has decided to stop fetching tasks, although this is not quite related but has only occured since GPU crunching began, so now I'm running 1 CPU task and one GPU+CPU task.
ID: 42391 · Report as offensive
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42393 - Posted: 1 Feb 2012, 21:58:48 UTC

ok: computation error on the GPU task and now it has suddenly decided to download new tasks for the other projects, so why would it refuse to download CPU tasks while doing a GPU task ?

I think the computation error was due to me playing with my video card closk settings, so can't really complain there I guess
ID: 42393 · Report as offensive
Claggy

Send message
Joined: 23 Apr 07
Posts: 1112
United Kingdom
Message 42395 - Posted: 2 Feb 2012, 0:36:01 UTC - in response to Message 42390.  

If you're going to run an Boinc Alpha Client, then keep it up to date, these are all the fixes that have been applied since Boinc 7.0.3 was current:

Preliminary Change Log 7.0.3 --> 7.0.4:

• MGR: in Simple View, localize institution, science area and description.

• client: if we're trying to upload a file and it's missing, that's a permanent error.

• WINSETUP: Copy the explorer primary token to get processes launched by the setup process to launch with reduced permissions.

• MGR: Partial fix for wizard problem when a client automatically attempts to attach to an account manager via cookies. This fix is good enough for the 6.8 client. We'll need to do a little more for 7.x and beyond.

• MGR: Continue partial fix for wizard problem when a client automatically attempts to attach to an account manager via cookies.

• scheduler: if an app has only GPU versions, scale their PFC by 0.1 in credit calculations. This reflects the fact that GPU apps are typically less efficient (relative to device peak FLOPS) than are CPU apps. The actual values from SETI@home and Milkyway are 0.05 and 0.08.

• MGR: Display project descriptions in Attach Wizard using wxTextCtrl instead of wxHtmlWindow to support screen readers.

• Show localized project descriptions in Attach Wizard.

• MGR: Fix horizontal sizing of text in Simple View project description.

• API/client/manager: allow applications to supply a "web graphics URL", in which case the manager's "Show Graphics" button opens a browser at that URL. This typically would used for applications that implement a web server that serves pages showing job information in HTML.

• add support for APP::needs_network flag. If set, don't run jobs for that app while network is suspended.

• client: parse this flag and maintain in state file; do a job reschedule when network suspend state changes.

• GUI RPC: add RESULT::network_wait flag; if set, this job is waiting for network access to be allowed.

• Manager: display the above in task info add support for "web graphics URL" (see above).

• client: parse message containing URL on graphics_reply channel and store in ACTIVE_TASK::web_graphics_url

• GUI RPC: add RESULT::web_graphics_url

• Manager: if web graphics URL is present, Show Graphics opens a browser.

• remove some vestigial code for pre-V6 graphics.

• make "needs network" a property of APP_VERSION rather than APP.

• update_versions: support <needs_network> flag in version.xml



Preliminary Change Log 7.0.4 --> 7.0.5:

• SCR: Remove last linger pieces of v5 backward graphics compatibility from the screensaver.

Preliminary Change Log 7.0.5 --> 7.0.6:

• client: detect Windows HyperV Server 2008 R2 (from Crashtest).

• client: increase the buffer sizes for retrieving cpu features on *nix type systems. The latest generation of processors blow past 256 bytes and vmx and svm are truncated.

• client: shuffle disk usage code in preparation for disk accounting.

• use new XML parser in some GUI RPC code.

• WINSETUP: Introduce new BOINC setup packages which include VirtualBox.

Preliminary Change Log 7.0.6 --> 7.0.7:

• client: parse APP:non_cpu_intensive correctly. This got broken somehow.

• client: don't crash if missing RSS feed file for some reason.

• client: for VBox apps, check stderr for "ERR_CPU_VM_EXTENSIONS_DISABLED". If found, set HOST_INFO::p_vm_extensions_disabled, and pass this to the scheduler.
Note: if you have a host with VM extensions, and they're disabled in the BIOS, and you enable them, you can remove the <p_vm_extensions_disabled> line from client_state.xml and you'll be eligible to get multicore VM jobs again.


• client: processor features buffer is supposed to be 1024 bytes. Avoid truncation.

Preliminary Change Log 7.0.7 --> 7.0.8:

• WINSETUP: Give 'boinc_admins' and 'boinc_projects' the ability to access and launch the VirtualBox server-side application. This should complete the needed work to run VirtualBox within the Windows sandboxed environment.

• WINSETUP: Remove the virtualized file system tag from the Windows Explorer copied security token when launching BOINC Manager and BOINC Tray after setup has completed. I believe this will resolve the new cookie issue experienced by PTP/GR/CE.

• WINSETUP: Hookup new custom actions to the BOINC Installers.

• client: compute projects' disk share (based on resource share). Report it (along with disk usage) in scheduler request messages. This will allow the scheduler to send file-delete commands if the project is using more than its share.

• client: add <disk_usage_debug> log flag.

• client: calculate disk share for zero-priority projects correctly.

• client: Remove scaling factor for AMD OpenCL devices. Latest generation of drivers now report the correct memory size. They didn't wait for the next OpenCL spec change.

• GUI RPC: use new XML parser.

• client: Restore scaling factor for AMD OpenCL devices on Macs with OpenCL version < 1.2

• Mac Installer: Changes for integrated BOINC+VirtualBox Mac installer.

• MGR: Remove sash window divider between the task panel and list panel in the advanced view. Retain the ability to dynamically adjust the width of the task panel based on widest button.

• LIB: Use parse string instead of copy contents for messages RPC.

• MGR: parse message contents with XML_PARSER::element_content().

• MGR: Derive from the correct base class to make the sizers work properly.

• client: reset ACTIVE_TASK::bytes_sent and bytes_received when the task is started or restarted.

• client: OpenCL 1.1 has no API for determining available GPU RAM, so if CAL is not present for ATI / AMD GPU or if CUDA is not present for NVIDIA GPU, set available GPU RAM equal to total GPU RAM.

• MGR: first stab at improving Disk View colors.

• MGR: debug Disk Usage colors.

• MGR: When launching Mac client as a daemon, allow time for it to start.

• client: use old Mac idle detection when running as a daemon.

• MGR: Launch the RDP client on Windows in full-screen mode to avoid a bug where the screen doesn't refresh and keyboard/mouse events don't manifest until you close down the client and restart it.

• MGR: Add RDP client support for the Mac.

• GUI RPC: add <xml> tag to the start of HTTP replies.

Preliminary Change Log 7.0.8 --> 7.0.9:

• client: identify ATI 97x0 GPUs (from Jord).

• GUI RPC client: don't write spurious messages to stderr.

• MGR: Use rdesktop-vrdp on Linux, it is included with VirtualBox and meant for what we are trying to do.

• MGR: Remove the fullscreen flag on Windows. It might only be my machine which has refresh problems when launching in windowed mode.

• client, lib: Improve available GPU RAM detection, include it in display of GPU description.

• client: Add logging message for insufficient GPU RAM details to coproc_debug flag.



7.0.9 --> 7.0.10:

• Mac: In permissions error alert: show branded name and path to bad file or subdirectory.

• client: Save all CUDA and CAL GPU info until done with OpenCL detection for use in OpenCL GPU descriptions.



7.0.10 --> 7.0.11:

• lib: recent checkin broke strip_whitespace(string&).

• client: add debugging aids to coproc_detect logic.

• client: ATI available RAM is in bytes, not MB; if no CAL, don't divide by MEGA.

Preliminary Change Log 7.0.11 --> 7.0.12:

• 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: under OS 10.4, create boinc_master and boinc_project at IDs starting at 25 instead of 501.

• client: Show GPU number in "GPU is OpenCL-capable" message.

• OpenCL: workaround for GPUs reported by CUDA but not by Mac 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, surprisingly, 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.


• 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.


• 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. Imagine 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 we then 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.

• Mac: If permissions error because unable to opendir() a subdirectory, show path to that subdirectory.

• 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.

• client: Fix long standing issue with the .gz extension automatically being decompressed on-the-fly when it wasn't supposed to be.

• MGR: Fix sizes of task panes and buttons, elapsing button text if needed.

• update_versions: for gzipped files, send the size of the compressed file as well.

• 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.


Claggy
ID: 42395 · Report as offensive
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42397 - Posted: 2 Feb 2012, 6:54:48 UTC

ok looks like I need to update. is there anyway of boinc checking for updates and putting up a message ? Many other programs do.
ID: 42397 · Report as offensive
Profile Gundolf Jahn

Send message
Joined: 20 Dec 07
Posts: 1069
Germany
Message 42400 - Posted: 2 Feb 2012, 11:02:02 UTC - in response to Message 42397.  

BOINC does, too, but only for recommended versions. You are running a pre-beta version.

Gruß,
Gundolf
Computer sind nicht alles im Leben. (Kleiner Scherz)
ID: 42400 · Report as offensive
Profile Sparkylabs

Send message
Joined: 9 Jan 12
Posts: 79
United Kingdom
Message 42402 - Posted: 2 Feb 2012, 17:53:25 UTC - in response to Message 42400.  

I see
ID: 42402 · Report as offensive

Message boards : GPUs : Using GPU puts 1 CPU core (of 4) out of use

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.