Page 1 of 1

The purpose of GPUs.txt

Posted: Tue May 10, 2016 7:58 pm
by FldngForGrandparents
Question on the GPUs.txt file. Why do we keep having to add these instead of having a file that says anything higher than 0x10de:0x0005 or 0x1002:0x0002 is supported and the couple of others. AMD/NVidia just increment the PCI id. Anything new is going to support OpenCL.

Re: Whitelist/Blacklist Change-Log (Greylist)

Posted: Tue May 10, 2016 8:36 pm
by 7im
FldngForGrandparents wrote:Question on the GPUs.txt file. Why do we keep having to add these instead of having a file that says anything higher than 0x10de:0x0005 or 0x1002:0x0002 is supported and the couple of others. AMD/NVidia just increment the PCI id. Anything new is going to support OpenCL.
This forum thread explains more about the GPUs.txt file.

This page explains in precise detail.

In summary, because everything higher than 0x10de:0x0005 or 0x1002:0x0002 is NOT supported. Half the list is black, as in not supported. And by my last post, it should be clear that new IDs are not incremental. They are not all new Maxwell GPUs either, and the GPUs.txt distinguishes between Fermi, Kepler, Maxwell, etc., as noted in the second link above (same for AMD chip families). Each level may have different OpenCL versions, and by sorting them, take advantage of new features in newer GPUs in new projects. Or avoid sending projects with new features to older GPUs.

GPU Compute capabillity x.x

Posted: Tue May 10, 2016 9:03 pm
by bruce
The FAH servers attempt to optimize assignments based on all the features mentioned by 7im, plus others.

Strictly as one example, I found the following concise statement on Wikipedia:
GM204 supports CUDA Compute Capability 5.2 (compared to 5.0 on GM107/GM108 GPUs, 3.5 on GK110/GK208 GPUs and 3.0 on GK10x GPUs).

[Since recent FAHCores have all been based on OpenCL rather than on CUDA, I'd prefer to use a similar statement for OpenCL but I didn't find one easily.]

All Kepler are not equivalent. All Maxwell are not equivalent. All Maxwells can do things that Keplers cannot.

Suppose we were way to define "All Kepler or above" would you want to limit your GM204 to the CUDA performance that can be obtained with Compute capability 3.0 or would you expect to be able to use optimizations only available in hardware with Compute Capability 3.5 or 5.0 or 5.2?