Both AMD and Nvidia card -> Using only OpenCLNV runs slower
log in

Advanced search

Message boards : Number crunching : Both AMD and Nvidia card -> Using only OpenCLNV runs slower

Author Message
Rantanplan
Send message
Joined: 21 Jul 12
Posts: 13
Credit: 32,025,546
RAC: 0
Message 20049 - Posted: 12 Nov 2014, 19:14:50 UTC
Last modified: 12 Nov 2014, 19:34:56 UTC

Cruel thing.

I have both AMD/Nvidia card installed. If I run only OpenCLNV wus , they are running double the time longer than I run both OpenCLAMD and OpenCLNV wus at the same time.

Also tried SWAN_SYNC=0 , no effect.

Whats that !? Driver issue ?

Greetings

Edit:

ohw , i went wrong, must be wu specific , running both cars and a wu took longer than 7 minutes, before just 5 minutes.

Profile Slicker
Volunteer moderator
Project administrator
Project developer
Project tester
Project scientist
Avatar
Send message
Joined: 11 Jun 09
Posts: 2525
Credit: 740,580,099
RAC: 2
Message 20985 - Posted: 12 Aug 2015, 15:21:45 UTC - in response to Message 20049.

OpenCL has always run slower on nVidia GPUs because it is a layer that sits on top of the CUDA drivers.

The CUDA language was developed specifically to allow nVidia GPUs to at as coprocessors. It has options that are specific to nVidia hardware allowing it to work at peak performance. OpenCL on the other hand, was designed so that it would be platform independent and run on all kinds of processors. In order to run on CPUs as well as GPUs and ARM processors, compromises were made so that it can run the same code on different platforms and processors.

Think of OpenCL being like Java. It won't compete with assembly language or even C/C++ code when it comes to performance, but the Java code should work on any platform that supports Java without changes. Java gives up some performance in order to have portability. That's OK for applications with user interfaces where people don't notice the difference in performance because the application spends the majority of its time waiting for them to input commands. But, in batch programming which does many similar calculations for many transactions, the performance difference becomes evident. A few milliseconds of speed per transaction becomes very noticeable when, for example, a large Collatz WU requires hundreds of trillions of calculations.

Profile Slicker
Volunteer moderator
Project administrator
Project developer
Project tester
Project scientist
Avatar
Send message
Joined: 11 Jun 09
Posts: 2525
Credit: 740,580,099
RAC: 2
Message 20998 - Posted: 13 Aug 2015, 18:48:50 UTC

I just thought of something else.... You may want to allocate half a CPU or even a full CPU/core to each GPU app. Another thought is that the PCI Express bus really can't handle the throughput of both GPUs. A number of motherboards cut the PCI Express speed in half wen a second card is added. In other words, a 16x slot turns into two 8x slots. Or, two 8x turns into two 4x.

There are also 4 different sized WUs: micro, mini, solo, and large and each is 16 times larger than the previous. (FYI, a single high end GPU can perform all the android devices on the project combined!) You can control which are sent to your machines via the preferences on the web site. If your GPUs are mis-matched in speed, use different preferences by putting one in "home" and the other in "work".


Post to thread

Message boards : Number crunching : Both AMD and Nvidia card -> Using only OpenCLNV runs slower


Main page · Your account · Message boards


Copyright © 2018 Jon Sonntag; All rights reserved.