How to differentiate CPU from GPU task?


log in

Advanced search

Questions and Answers : GPU applications : How to differentiate CPU from GPU task?

Author Message
Vasil Vasilev
Send message
Joined: 2 Oct 11
Posts: 2
Credit: 142,970
RAC: 0
Bulgaria
Message 1158381 - Posted: 2 Oct 2011, 21:55:28 UTC

Hi, I just install the program BOINC Manager and I searched and I could not find a way to make GPU to calculate. From what I read in forum I understood that there are tasks for GPU's and CPU's. I just want to know is there any way to make my VGA to start working on the CPU problems. I have GTS450 and I have used another program made by NVIDIA and there was just one mark and I could choose CPU or GPU. In BOINC Manager I set to use the GPU always, to use it when I am using the PC, but the GPU is still staying idle. I whant to know is there another kind of options or I am doing something wrong? And how to know is the task for the CPU or the GPU?
____________

doug
Volunteer tester
Send message
Joined: 10 Jul 09
Posts: 199
Credit: 9,143,300
RAC: 9,170
United States
Message 1158445 - Posted: 3 Oct 2011, 5:21:29 UTC - in response to Message 1158381.

I'm not running the generic SETI programs anymore, but the applications from Lunatics http://lunatics.kwsn.net/ . I've noticed that you can see in your results whether it was a CPU task or a GPU task (or maybe both). I think the main stream SETI apps have some NVIDIA support, but others could speak better to that than me since I have an ATI card. I've noticed from the event log that BOINC will request CPU and/or GPU tasks. The real question in my mind is why is there a difference between a CPU and a GPU task? I would think that SETI just provides the data (and their generic apps with the exception of NVIDIA support) and processes the results that come back. It seems to me that it ought to be a (data in)-(black box compute)-data out sort of model. In other words let the app figure out how to process the data and use whatever resources it has access to. (CPU/GPU/FPGA...) Is there some sort of preprocessing of data done before WUs are sent out so that it can be determined whether or not it's a CPU or GPU or CPU/GPU WU? I'm sure somebody out there can explain this to me. Interestingly enough I found a roughly 2.5 times speed increase using the Lunatics apps over generic SETI and was very happy, until I downloaded GPU-Z and found out my GPU wasn't even being used. I put a load on it with some OpenCL apps and verified the GPU was working correctly. Either way the Lunatics apps definitely perform better and you'll have much more support with NVIDIA than with ATI. I hope that didn't sound angry, it wasn't. There's just a lot of work to do and much that has to be figured out.

Vasil Vasilev
Send message
Joined: 2 Oct 11
Posts: 2
Credit: 142,970
RAC: 0
Bulgaria
Message 1158474 - Posted: 3 Oct 2011, 8:55:02 UTC - in response to Message 1158445.

Thanks for the answer. I noticed that in application tab in different project is written that is using CUDA (for example PrimeGrid). If it is not written then you use only CPU.
____________

Profile BilBg
Avatar
Send message
Joined: 27 May 07
Posts: 2457
Credit: 5,459,269
RAC: 7,852
Bulgaria
Message 1160593 - Posted: 9 Oct 2011, 15:11:24 UTC - in response to Message 1158445.


The task files (e.g. 20ap11ad.22038.9883.8.10.220) are the same not matter which app/device will process them.

Meaning if you look inside such task file you will not see anything that can inform you what device on your computer will process the task.

A task file (for SETI@home Enhanced) look like this inside:

<workunit> <workunit_header> <name>20ap11ad.22038.9883.8.10.220</name> <group_info> <tape_info> <name>20ap11ad</name> <start_time>2455672.1802263</start_time> <last_block_time>2455672.1802263</last_block_time> <last_block_done>9883</last_block_done> <missed>0</missed> <tape_quality>0</tape_quality> <beam>5</beam> </tape_info> <name>20ap11ad.22038.9883.8.10</name> <data_desc> <start_ra>2.0868110548832</start_ra> <start_dec>32.724148238801</start_dec> <end_ra>2.11669460206</end_ra> <end_dec>32.724112185166</end_dec> <true_angle_range>0.37710791792417</true_angle_range> <time_recorded>Wed Apr 20 16:19:31 2011</time_recorded> ... ... ... B+_*#;$?GQ:+$O,*'8U+8Y%7 [4U["*%CMWB<FL%DFRRTS>%65J\.9I-CIV^Q,21 '4MZ"QSZ0^E);"\6T8.DS<#,NIT>2>$)LBWD=VYG9EUPJ5$B,8]1)0NIU*=^?3R> KF;$[;BPX0;)9@QA?<)K* </data> </workunit>



BOINC decides which device needs work and how much and asks the servers to send tasks.
The tasks itself are the same but some info for them (e.g. filename, md5_cksum, for which device/app they are sent) goes to you in sched_reply_setiathome.berkeley.edu.xml

This task-describing info is then put by BOINC in client_state.xml

So the task files are the same, only the additional info describing them is different.
This additional info (e.g. for CPU or GPU) is generated at the time of your communication with the servers and not before.

The same task can be "labeled" in many different ways depending what "you" ask for.
( ;) Like some fake-beverage dealer can put the same whisky in different brand/label bottles)


In BOINC Manager -> Tasks tab -> Application column you can tell the difference (the target device) by version:
- setiathome_enhanced 6.03 (or <6.03) is for CPU
- setiathome_enhanced 6.08 (or >6.08) is for GPU


Look here for the (standard) versions:
http://setiathome.berkeley.edu/apps.php



____________



- ALF - "Find out what you don't do well ..... then don't do it!" :)

Profile Davoud
Send message
Joined: 10 Oct 11
Posts: 13
Credit: 208,301
RAC: 2
Sweden
Message 1161058 - Posted: 10 Oct 2011, 21:17:11 UTC

Am I mistaking or is it not as easy to just go in to the "Tools -> Computing preference -> Use GPU" ?

Should that not make me use my GPU? Just installed the BOINC Manager an hour ago for the first time, thats why I am asking :)

Best regards,
Davoud

Profile BilBg
Avatar
Send message
Joined: 27 May 07
Posts: 2457
Credit: 5,459,269
RAC: 7,852
Bulgaria
Message 1161194 - Posted: 11 Oct 2011, 10:30:56 UTC - in response to Message 1161058.


You have ATI/AMD Radeon - SETI still do not have standard Application for ATI/AMD GPUs:
http://setiathome.berkeley.edu/apps.php


____________



- ALF - "Find out what you don't do well ..... then don't do it!" :)

Profile Davoud
Send message
Joined: 10 Oct 11
Posts: 13
Credit: 208,301
RAC: 2
Sweden
Message 1161217 - Posted: 11 Oct 2011, 13:09:12 UTC - in response to Message 1161194.


You have ATI/AMD Radeon - SETI still do not have standard Application for ATI/AMD GPUs:
http://setiathome.berkeley.edu/apps.php



In other words, I cant use my GPU?

OzzFan
Volunteer tester
Avatar
Send message
Joined: 9 Apr 02
Posts: 13326
Credit: 27,950,006
RAC: 16,197
United States
Message 1161265 - Posted: 11 Oct 2011, 21:41:14 UTC - in response to Message 1161217.
Last modified: 11 Oct 2011, 21:41:51 UTC


You have ATI/AMD Radeon - SETI still do not have standard Application for ATI/AMD GPUs:
http://setiathome.berkeley.edu/apps.php



In other words, I cant use my GPU?


Not unless you use a third-party science application that supports your GPU [edit] or you connect to a project that does support ATi GPUs natively.

Profile ignorance is no excuse
Avatar
Send message
Joined: 4 Oct 00
Posts: 9529
Credit: 44,432,515
RAC: 121
Korea, North
Message 1161347 - Posted: 12 Oct 2011, 3:22:43 UTC - in response to Message 1161265.

If you choose to run the 3rd party app for seti, You take responsibility for keeping it updated. You will also find your GPU will run hotter using the 3rd party app. This means you'll need to manually adjust your GPU fan speed. The 3rd party app has a portion that will make your CPU WU's finish in about 1/2 their normal run times.
____________
In a rich man's house there is no place to spit but his face.
Diogenes Of Sinope

End terrorism by building a school

Questions and Answers : GPU applications : How to differentiate CPU from GPU task?

Copyright © 2014 University of California