Page 1 of 3
New: Need confirmation How to run multiple threads on a GPU?
Posted: Sat Jul 06, 2013 3:15 am
by error-id10t
The forums I frequent don't discuss folding or it's effectively dead, so I'm hoping some "validation" or rather, confirmation that I've set my system correctly.
The system is 3770k @ 4.2G and 670 SLI. I could OC that CPU more, it's under water but for now it's what it is.
I'm running FAH v7.3.6 with the slider set to full. The GPU slots were set with "client-type = beta" which was giving me core 17s until last night, at which stage I started getting Core 15s again. I then changed it to "client-type = advanced" thinking this should help, but I'm still getting Core 15s for both. Is this normal and/or how do I get back getting Core 17s?
The CPU itself is set to run on 6 threads now (previously 7) as the Core 17s on GPU chew fair amount of CPU thread space. The only other change for CPU slot I've made is change it to "max-packet-size = big".
I've only been doing this for few days - is there a way to see success/fail ratio? I believe I'm getting Bonus points now but I also know some units failed until I got my cards to behave nicely, I just can't tell what my ratio is. Lastly, this seems to be plug-and-play effectively but should I change anything (slot options)?
Re: new - need confirmation
Posted: Sat Jul 06, 2013 3:42 am
by bruce
Welcome to foldingforum.org, id10t.
Overclocking is at your own risk. Stanford doesn't make a recommendation.
FAH v7.3.6 with the slider set to full is generally right unless you want a lower setting if you notice a bit of foreground slowing. The default was set for "minimum impact on a novice's computer" rather than "maximum performance."
Setting the GPU slots to "client-type = beta" is probably wrong if you're just going for performance. Use "client-type = advanced" Also, "max-packet-size = big" is probably a bad idea for GPUs though that might change someday.
Depending on how much your GPU(s) chew up or any other very active applications use, CPU:6 or 7 might be best. SMP does slow down if something else "steals" one of it's cores persistently. On a hyperthreaded CPU, there's not a lot of difference between 6 and 7 since the hardware that does floating point calculations is shared by a pair of logical CPUs.
The best source of success/fail numbers can be found in you logs which are in the FAH data directory. If they're all under your passkey, the Mods can tell but you don't have access to that. Of the 31 you've returned, you're at 100%. If some have been dumped, we might not know that until they expire.
Re: new - need confirmation
Posted: Sat Jul 06, 2013 3:43 am
by Jesse_V
It sounds to me like you've got a good configuration. Just so you know, Work Units are completed the fastest if they run on separate cards and not through SLI.
FahCore 17 was recently moved from beta to advanced as it was deemed stable enough. What you get is just luck of the draw at this point. I get the impression that there are many people pursuiting that core, and perhaps there aren't enough of its WUs to satisfy everyone. Even if that isn't the case, you'll be assigned whatever work is available in that advanced category. There are plenty of other projects that are moving forward alongside the ones that use FahCore 17.
Re: new - need confirmation
Posted: Sun Jul 07, 2013 2:26 pm
by StitchExperimen
How do you set to advanced?
Re: new - need confirmation
Posted: Sun Jul 07, 2013 2:30 pm
by bollix47
Open FAHControl ... when communication is established with the client click on Configure ... click on the Slots tab ... double click the GPU slot ... click on Add:
Name: client-type
Value: advanced
Click on Ok and Save
The setting will be effective for your next download.
Re: new - need confirmation
Posted: Sun Jul 07, 2013 3:06 pm
by StitchExperimen
Okay, what does advanced do?
Next question I have a AMD GPU HD 7950 it seems to get low PPD and at first I thought it was because it had "New stistics."
Apparently though the percent of GPU activity is low so I'm guessing that I need to run multi-threads of programs through the GPU.
So How Do I do that?
I have asked the program to finish the wu in the 15 threads of cpu so I can make a change.
Also I tried changing from 15 cpu threads to 14 cpu threads and it wouldn't accept the change, is this running all the cores in parallel? or separate? or what?
The other Bruce.
How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 4:04 pm
by StitchExperimen
My GPU is a AMD HD 7950 it is getting low PPD and the GPU usage at best is 90%.
On Boinc, WCG, Help Conquer Cancer I would run 8 wu at a time and average 30 seconds time for all 8 wu compared to a single wu that took like 6 minutes. So how do I run multiple wu in your program on a AMD GPU HD 7950.
At present I have written in to the box below client-type, advanced but don't know what it does. Can someone give an explanation?
The other Bruce.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 4:21 pm
by 7im
Fah work units are time sensitive. Running more than one work unit at a time produces less points and less science. Besides, FAH is already running multiple threads on the multiple cores of the GPU. The drivers just aren't able to fully load the GPU. Fact of life for AMD folding.
Re: new - need confirmation
Posted: Sun Jul 07, 2013 4:25 pm
by bollix47
Setting the client-type to advanced for your GPU slot should get you core_17 work units which will make better use of your GPU. There is no need to run multiple instances on your GPU and doing so would be bad for the folding project. If you only have one GPU and a 16 core/thread CPU there is no need to change to 14 CPU threads. Some projects won't let you change to 14, others will work fine but it's always better to change the number of cores after the current work unit is finished.
If you need further help please supply the System Info and Config sections of your log as explained
here so we can better guide you.
If we're discussing the system
here then you should not be using 15 on an 8 core cpu. Maximum would be 8 and with your GPU running you should change it to 6 although 7 has been reported to work on some projects. Using more than the number of cores available is also bad for the project since doing so would only slow down the return of work.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 4:33 pm
by Jesse_V
The "advanced" setting is a quality assurance step.
To quote
a blog post,
VijayPande wrote:For 10 years, we have rolled out Folding@home work units (WUs), Cores, and client software using a Quality Assurance (QA) protocol that involves several steps, including internal testing (internal), closed beta testing (beta), open beta testing (advanced), and full release. The goal of this gradual rollout is to try to keep problematic WUs and software from getting released and to allow donors to have some choice in terms of how bleeding edge they’d like to be.
GPUs already perform many operations in parallel. Combined with impressive hardware optimizations, that's one of the main reasons that makes them so fast for computer graphics or GPGPU calculations. See
http://folding.stanford.edu/English/FAQ-main#ntoc19
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 4:49 pm
by kiore
StitchExperimen wrote:My GPU is a AMD HD 7950 it is getting low PPD and the GPU usage at best is 90%.
On Boinc, WCG, Help Conquer Cancer I would run 8 wu at a time and average 30 seconds time for all 8 wu compared to a single wu that took like 6 minutes. So how do I run multiple wu in your program on a AMD GPU HD 7950.
At present I have written in to the box below client-type, advanced but don't know what it does. Can someone give an explanation?
The other Bruce.
The advanced flag will get you work units (sometimes) that have been released from beta testing but are still not released for general use for some reason.
IMO this is for people who are prepared to monitor closely and adjust their hardware, they may not be as stable as general release work units and it is possible failures will be more common. However many people like to load this as it can get some of the new release units that for whatever reason may be desirable.
Currently the new core 17 workunits are only available with a flag and these have certain qualities sought after by AMD GPU users and Linux OS GPU users.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 5:15 pm
by StitchExperimen
7im wrote:Fah work units are time sensitive. Running more than one work unit at a time produces less points and less science. Besides, FAH is already running multiple threads on the multiple cores of the GPU. The drivers just aren't able to fully load the GPU. Fact of life for AMD folding.
I'm getting wu done in hours where preferred work times are saying 7 to 38 days.
PPD are like 7,000 PPD at best compared for 31,500 PPD for a Nvidia 660 Ti.
Now from my experience with Help Conquer Cancer you needed a cpu thread for each wu that was simultaneously processed by the GPU. 8 wu was the max, going higher produced no gains though I have done 14 and beyond and times stayed the same. Doing Help Conquer Cancer one thread at a time produced low PPD like now.
Now your own points show that the AMD GPU is underused issuing <7,000 PPD. Boinc, PrimeGrid uses only one wu and takes days to process and the GPU is fully loaded and PPD is high in it's own catagory.
Bruce G.
So How do you run multi threads so you can prove me wrong because you haven't said you tried it and the PPD seems to prove it.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 5:44 pm
by Jesse_V
StitchExperimen wrote:Now from my experience with Help Conquer Cancer you needed a cpu thread for each wu that was simultaneously processed by the GPU. 8 wu was the max, going higher produced no gains though I have done 14 and beyond and times stayed the same. Doing Help Conquer Cancer one thread at a time produced low PPD like now.
I have no experience with WCG projects such as Help Conquer Cancer, but here whether you need a CPU thread for a GPU workunit or not is entirely subject to the GPU drivers and the API used by the FahCores -- the software that does the actual calculations behind the scenes. For example, Nvidia drivers do not require significant CPU work to run CUDA, but they do require one for OpenCL. Hence, the older FahCores that use CUDA do not use any significant CPU time, whereas the new FahCore 17 does on Nvidia cards because it uses OpenCL instead. (FahCore 17 has many scientific advantages that more than make up for this slight downside.)
StitchExperimen wrote:Now your own points show that the AMD GPU is underused issuing <7,000 PPD. Boinc, PrimeGrid uses only one wu and takes days to process and the GPU is fully loaded and PPD is high in it's own catagory.
The two projects are different. Typically you cannot compare F@h's workunits with theirs.
StitchExperimen wrote:So How do you run multi threads so you can prove me wrong because you haven't said you tried it and the PPD seems to prove it.
You're misunderstanding the architecture here. GPUs don't have any concept of "threads". GPUs parallelize the work that they are given, and most of the tasks that they are given are embarrassingly parallel. For example, in computer graphics, a GPU can render a polygon-based model at 60 FPS or faster because it has the ability to work with every vertex at the same time, and then every pixel/fragment in between at the same time. With F@h, a request for calculations comes in, is divided up and highly parallelized across all GPU cores, and is thus completed in parallel.
If you can somehow manage to get multiple workunits to be run on the same GPU, they will interrupt each other and slow each other down, which defeats the purpose. CPUs can handle threads, GPU drivers cannot. It is far better to just run one workunit per GPU. The V7 software should do a pretty good job at optimizing your setup, particularly on the Full setting.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 5:45 pm
by HaloJones
Bruce, that isn't how it works in Folding@Home. Sorry to disappoint but you can't compare Distributed Computing projects. Folding@Home has always been a gpu-single-thread tool. And no-one can prove you wrong because what you want isn't an option. it can't be tested.
And as for the points you're seeing, with the standard production clients, Nvidia has historically had better support for Folding than ATI/AMD. Soon that will change and your 7950 will get ten times more points than you're seeing.
Re: How do I run multiple threads on the GPU? AMD 7950
Posted: Sun Jul 07, 2013 6:29 pm
by 7im
StitchExperimen wrote:
So How do you run multi threads so you can prove me wrong because you haven't said you tried it and the PPD seems to prove it.
I have tried everything at least once in my 10 years of folding. I don't have to prove anything. My word is good here, just as others have confirmed the same thing.
Read the Points FAQ as a primer as to why running more threads is not better for the project.
But feel free to waste your time and ignore good advise from seasoned veterans. The Windows Install Guide shows how to add extra slots. Add another GPU slot and watch your points drop to less than half.