Hello, Im folding for some time but Im new to this Forum.
As I only have access to old(er) Hardware, i want to understand the GPUs.txt and how to find out if a GPU is "White-" or "Blacklisted".
What i know so far: A GPU has to support OpenCL 1.2 and FP64
But here comes in a practical issue:
Im Folding on two "GTX 560 Ti" [techpowerup is listing them as OpenCL 1.1 having FP64 (double) performance 105.3 GFLOPS (1:12)]
A "GT 730" [also OpenCL 1.1 and listed with FP64 (double) performance 22.40 GFLOPS (1:12)] wont get a WU.
So what defines the first Cards "White" and the second one "Black" ?
I'll let some answer the "how are decisions made" part, but a quick heads up, Open CL 1.2 support is not a "100%" requirement … Until recently it was believed it was, but in the last few days there have been some clarifications and a number of GPUs that were classed as not capable because they were only OpenCL 1.1 are in the process of being reinstated.
Whoever actually answers your main question may well clarify this recent change as well … I think that in the GPUs.txt "Greylist" devices with ::: before the end description are Blacklisted
Found the following in another post - quite old so may not be wholly accurate (think Species may have more recent entries) but I think at least explains the basic format:
GPUs.txt consists of lines in the following format:
The post is old, and a number of the items have shifted in use and what they will be used for on the servers for assignments. One change has been to group a bit by relative performance. So the lower end Kepler cards show up as species 3, the higher end ones are species 4 mostly.
This has gone the farthest on the nVidia cards, larger systems being assigned to the cards with the most shaders and performance by preference. It takes having the assignments set up properly on the servers when the projects are configured.
A similar revamping is being worked on for the AMD cards, that may go into full effect once accepted by the researchers. For right now though the effort has been on getting the GPUs in the AMD lines without Double Precision (FP64) support identified and removed from the supported list. The way AMD reused chips through the different series of cards meant that the scheme shown in that old post no longer worked. The cards could not be grouped by series.
For example, just the HD 5800 and HD 6900 series cards support DP. All the rest do not in the lower end of the series. Some of the same chips were used for cards in the HD 7000 and 8000 series, and even into the R5 200 series cards, and do not support DP. Most of the mobile and iGPU processors in AMD APUs from the same series have no DP support either.
Perhaps once this revamping is all done, an updated description for the file and its entries will be posted.
iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
Apologies ... I probably shouldn't have linked that topic as it was so old - but I did warn it might not be accurate ... I hadn't realised quite how much things have changed - My Bad
In moving the right direction, we have been adjusting the assigned CPUSpecies in GPUs.txt This is not a process which can be done in a few hours nor is it something that should change radically, but it can be improved and we're working on that, togehter with a rational way to measure WU complexity.z
Personally, I was assigned a huge WU on one of my slower GPUs recently. I think 450K atoms is probably the largest protein we've worked on.
Nah, its ok.
F@H is work in progress in all parts.
Understanding the way it comes along helps *me* more than any fixed "deal with it" comment.
For now i would assume Servers might have a second GPU list to decide what is white or black. If im right im interessted to have a look at it.
bruce wrote:In moving the right direction, we have been adjusting the assigned CPUSpecies in GPUs.txt This is not a process which can be done in a few hours nor is it something that should change radically, but it can be improved and we're working on that, togehter with a rational way to measure WU complexity.z
From my nescient point of view it might be an idea to build some "Score" from parameters like Cores, ShaderGlock and GPU Clock? Maybe other parameters are from heavier impact and should be used.
The trick is, if WUs are getting bigger and bigger the "minimum score" only needs to be set higher in numbers to adress better GPUs.
Also there could be Low, Mid and High End Score boundaries to send out the right WU to just the right cards.
[Disclaimer=Dont forget im only a nutcase fooling around.]
I calculated around with the cards i own:
Foliant wrote:...For now i would assume Servers might have a second GPU list to decide what is white or black. If im right im interessted to have a look at it...
Welcome to the F@H Forum Foliant,
The Servers have the exact same GPUs.txt file that you have on your system. It is manually updated as and when required.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time
And there are factors that have nothing to do with the GPU that play into this:
Configuration matters … If a core (or two) hasn't been left free to service the GPU - or it has but the CPU has other loads maxing it out - then the GPU won't deliver as expected
Folding Patterns are another variable - probably one that has greater impact than most … Even the best GPU only folding on idle and switched off when the machine is not in use might be "beaten" but a lowly old card such as my 750ti on 24/7 folding … Tracking "past folding patterns" would be a massive challenge for a whole bag load of reasons - I'm not even going to try to go there as it makes my head hurt
There is a balance between trying to optimise the process/assignment and the effort/compute/resource spent doing this … A simple system can be fairly robust and rarely needs to change, whereas a complex solution might required continuous support/development/fixes/updates … Assignment improvements will no doubt be phased in as/when they are possible/beneficial on the whole
Neil-B wrote:And there are factors that have nothing to do with the GPU that play into this
[...]
Tracking "past folding patterns" would be a massive challenge for a whole bag load of reasons
True and true.
And because the user anytime can decide to change that value, asking the client if he is currently in "Idle", "Mid" or "Full" Mode wont be accurate under all circumstances.
If my GPU (an AMD Radeon HD 6970) in the list (Official GPUs.txt) is read as:
****
0x1002:0x6718:1:1:Cayman XT [Radeon HD 6900 Series]
****
That means it is unsupported, right?
But I've read that this GPU is one of the last from this serie that supports DP and OpenCL 1.2.
What's what with the Radeon HD 6970 GPU, is it blacklisted for real?
Nicpaillard wrote:That means it is unsupported, right?
Welcome to the support forum.
If those entries in the third and fourth fields were empty or a zero, that would indicate the card was unsupported. In this case due to a realignment of the AMD GPU classifications about 6 weeks ago, the ":1:1:" indicates the card is from AMD and uses the Terascale microarchitecture.
A problem was identified on the servers with assigning after the reclassifications were put in place, I will check with someone on whether that was all straightened out.
iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
That was an old list, it has changed since May, and was old and partly out of date then. Bruce posted sometime in late July on the AMD changes in another topic.
iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
Here's the link that has details for AMD GPUs: viewtopic.php?f=24&t=35858
However, please note that work is underway to automatically classify GPUs based on real data generated by F@H which would be an automated process. There's no ETA on that but that will mean a significant change in the classification of GPUs.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time