Hi All,
Just a simple question, when the FaH client supported CUDA did it use less CPU cycles to drive the GPU's? It seems that OpenCL hammers the CPU's to feed the GPU's. I do have the CPU slot removed so the client is not using my CPU's at all to crunch work units.
I've done a quick search to see if I could find this answered elsewhere but my google-fu has failed me.
Thanks
OpenCL vs CUDA
Moderators: Site Moderators, FAHC Science Team
OpenCL vs CUDA
There are two major products that came out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence.
-- Jeremy S. Anderson
-- Jeremy S. Anderson
-
- Posts: 2522
- Joined: Mon Feb 16, 2009 4:12 am
- Location: Greenwood MS USA
Re: OpenCL vs CUDA
Yes. CUDA is Nvidia only. Nvidia's OpenCL driver does a 'busy wait' on one CPU, busy waiting is almost always a poor design. AMD does not use a busy wait, so draws less CPU.
The Pande Group has limited funds so has focused on a single GPU model, OpenCL. In the past, they supported multiple cores based on vendor specific platforms but at some additional cost. (Funded by Nvidia and AMD?)
In some theoretical world with infinite funds and infinite programmer support, multiple cores written for every variation would yield faster results. As it is, we are stuck with Nvidia's poor design choice. (If they can force you to use CUDA software, they have a monopoly on hardware)
It is somewhat excusable when GPU folding is 100s of times more points than CPU folding.
https://en.wikipedia.org/wiki/Busy_waiting
(In a past life I had a busy wait I could not avoid, but I could run it on any CPU on my network. I used the slowest device I could find. ARM has a similar feature called big.LITTLE, but x86 does not)
The Pande Group has limited funds so has focused on a single GPU model, OpenCL. In the past, they supported multiple cores based on vendor specific platforms but at some additional cost. (Funded by Nvidia and AMD?)
In some theoretical world with infinite funds and infinite programmer support, multiple cores written for every variation would yield faster results. As it is, we are stuck with Nvidia's poor design choice. (If they can force you to use CUDA software, they have a monopoly on hardware)
It is somewhat excusable when GPU folding is 100s of times more points than CPU folding.
https://en.wikipedia.org/wiki/Busy_waiting
(In a past life I had a busy wait I could not avoid, but I could run it on any CPU on my network. I used the slowest device I could find. ARM has a similar feature called big.LITTLE, but x86 does not)
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
Re: OpenCL vs CUDA
Thanks for the reply, I was just wondering if there would ever be an opportunity for nvidia users to use cuda only thereby freeing up the cpu to feed more gpu's (for example, amd gpu's). Based on your response above this appears that it is unlikely to happen.
There are two major products that came out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence.
-- Jeremy S. Anderson
-- Jeremy S. Anderson
Re: OpenCL vs CUDA
A busy-wait process is designed to waste CPU power in a way that improves response time ... the latter being an important consideration for gamers who detest the extra overhead required to interrupt another process to get attention by the CPU. While a busy-wait appears to use a lot of CPU cycles, it's easily interrupted by another process -- and no interruption is required to begin processing work assigned to the GPU driver processes.
Posting FAH's log:
How to provide enough info to get helpful support.
How to provide enough info to get helpful support.
-
- Posts: 2040
- Joined: Sat Dec 01, 2012 3:43 pm
- Hardware configuration: Folding@Home Client 7.6.13 (1 GPU slots)
Windows 7 64bit
Intel Core i5 2500k@4Ghz
Nvidia gtx 1080ti driver 441
Re: OpenCL vs CUDA
Now FAH has enabled CUDA on nvidia GPUs. But I see also one CPU core used by FAH to feed the GPU slot.
OpenMM has the option to use blocking sync instead of busy waiting. Can this be enabled by FAH user in the FahClient? How much does it hurt PPD?
OpenMM has the option to use blocking sync instead of busy waiting. Can this be enabled by FAH user in the FahClient? How much does it hurt PPD?
UseBlockingSync: This is used to control how the CUDA runtime synchronizes between the CPU and GPU. If this is set to “true” (the default), CUDA will allow the calling thread to sleep while the GPU is performing a computation, allowing the CPU to do other work. If it is set to “false”, CUDA will spin-lock while the GPU is working.
https://github.com/openmm/openmm/blob/1 ... cifics.rst
Re: OpenCL vs CUDA
How do I enable Cuda?foldy wrote: ↑Mon Oct 03, 2022 6:28 am Now FAH has enabled CUDA on nvidia GPUs. But I see also one CPU core used by FAH to feed the GPU slot.
OpenMM has the option to use blocking sync instead of busy waiting. Can this be enabled by FAH user in the FahClient? How much does it hurt PPD?
UseBlockingSync: This is used to control how the CUDA runtime synchronizes between the CPU and GPU. If this is set to “true” (the default), CUDA will allow the calling thread to sleep while the GPU is performing a computation, allowing the CPU to do other work. If it is set to “false”, CUDA will spin-lock while the GPU is working.
https://github.com/openmm/openmm/blob/1 ... cifics.rst
-
- Posts: 2040
- Joined: Sat Dec 01, 2012 3:43 pm
- Hardware configuration: Folding@Home Client 7.6.13 (1 GPU slots)
Windows 7 64bit
Intel Core i5 2500k@4Ghz
Nvidia gtx 1080ti driver 441
Re: OpenCL vs CUDA
It is enabled automatically on Nvidia GPUs if supported. You see it in the logfile in FahControl
e.g.
06:17:57:WU00:FS01:0x22:Platform 2: OpenCL
06:17:57:WU00:FS01:0x22: opencl-device 0 specified
06:17:57:WU00:FS01:0x22:Platform 3: CUDA
06:17:57:WU00:FS01:0x22: cuda-device 0 specified
06:18:10:WU00:FS01:0x22:Attempting to create CUDA context:
06:18:10:WU00:FS01:0x22: Configuring platform CUDA
06:18:15:WU00:FS01:0x22: Using CUDA and gpu 0
e.g.
06:17:57:WU00:FS01:0x22:Platform 2: OpenCL
06:17:57:WU00:FS01:0x22: opencl-device 0 specified
06:17:57:WU00:FS01:0x22:Platform 3: CUDA
06:17:57:WU00:FS01:0x22: cuda-device 0 specified
06:18:10:WU00:FS01:0x22:Attempting to create CUDA context:
06:18:10:WU00:FS01:0x22: Configuring platform CUDA
06:18:15:WU00:FS01:0x22: Using CUDA and gpu 0
-
- Site Admin
- Posts: 7927
- Joined: Tue Apr 21, 2009 4:41 pm
- Hardware configuration: Mac Pro 2.8 quad 12 GB smp4
MacBook Pro 2.9 i7 8 GB smp2 - Location: W. MA
Re: OpenCL vs CUDA
As stated by foley, it is used automatically if you have a GPU that is compatible. CUDA is proprietary to Nvidia, and in compiling the GPU folding core the libraries and support in the drivers currently require a GPU using a Maxwell or later series chipset. That would be the GTX 745, 750, and GT(X) 900 series cards are the minimum for CUDA, the older GT 600 and 700 cards using Kepler chipsets will use OpenCL. There are some GT 600/700 cards using Fermi chips, those are no longer supported for folding at all as the Fermi chipset does not support OpenCL 1.2.
iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3