Quadro and GTX cards at the same time?

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
I picked up a Quadro P4000 from a retired engineering machine yesterday and thought it would be a nice upgrade to my main PC that has been running a GTX 1060 3GB, since the Quadro is roughly equivalent to the 1060 in most gaming benchmarks, and quite a bit better in computing benchmarks. I plugged the Quadro into the second 16X slot on my motherboard and Windows immediately detected and activated the card without any driver changes or updates. I've read a lot of reports online saying not to install the Quadro and GTX drivers at the same time, so I haven't tried that yet.

BOINC and GPU-Z also appear to register the new card properly and BOINC started running two SRBase tasks simultaneously, saying that one is running on Device 0 (the 1060) and another on Device 1 (the P4000). However, GPU-Z says that the P4000 is being utilized at nearly 100% and the 1060 is not being used at all, sitting around 3-5% utilization.

And in BOINC, the two SRBase tasks are getting EXACLTY the same progress/run times, so it does appear that both are running on the Quadro. Based on those run-times, running two tasks on the Quadro is a pretty good improvement over what the 1060 was doing before, but it's nowhere near the double (or more) increase that I was hoping to get by running two separate cards.

Any suggestions how to get both cards working together, or should I just pull the 1060 and only run the Quadro since it has a lot more RAM (8GB vs 3GB), faster RAM (243.3 GB/s vs 192.2 GB/s), a lot more CUDA cores (1792 vs 1152), better fill rate (165.8 GTexels/s vs 120.5 GTexels/s) and better Floating Point performance (5,304 gflops vs 3,935 gflops)?

I know that the P4000 is not a massive powerhouse compared to new cards, but it's available and free, so I'd really like to make use of both cards if possible.

Sadly, my second PC (kids' computer) doesn't have PCIe power connectors or I'd just move the 1060 over there to replace the Quadro K2200's that they have been using to play Minecraft and I have been using to run Minecraft@home...
 

StefanR5R

Elite Member
Dec 10, 2016
5,459
7,718
136
This is a long standing issue with SRBase's TF application: It is hardwired to access only the "first" GPU. (Whatever "first" is meaning to the CUDA library.)

There were efforts to add proper device selection to the application. I don't recall how far they went. Take a look at the SRBase message board, it must have been discussed there somewhere. Maybe it's as simple as enabling beta applications in the preferences now...?

(Or was it completely fixed by now and I am giving you wrong advice?)

Meanwhile, simply give PrimeGrid PPSSieve or Einstein@home a try. These should work right away on both cards simultaneously.
 

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
Oh, good point. I had totally forgotten about that problem. It is kind of interesting that it is only using the Quadro, though. It is in the second slot on the motherboard and is listed as Device 1 (second card) in the Device Manager.

I'll try a different project when I get home tonight to see if it uses both cards properly.
 

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
Einstein gets immediate errors on all tasks, and PrimeGrid won't give any tasks. So I guess there is something actually wrong.

Update: I downloaded and installed the newest Nvidia drivers and after multiple reboots to get the new driver to activate and recognize the cards properly, both cards are now running Einstein tasks. GPU-Z confirms that both cards are being utilized at close to 100%! :)

I still want to get both running SRBase to get myself to the 100M milestone (just over 78M now), but discussions in the project forums make it seem like that's not going to happen. :(
 
Last edited:
  • Like
Reactions: Assimilator1

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
I'm going to reply to myself instead of editing again.

I just discovered that after the driver reinstall/upgrade, the Quadro P4000 is now being identified as Device 0 in BOINC (GPU1 in MSI Afterburner and GPU-Z) even though it is in the second PCIe slot. I'm not opposed to that, since it is actually the faster of the two cards. It was just interesting to see that change after a driver update.
 
  • Like
Reactions: Assimilator1

Icecold

Golden Member
Nov 15, 2004
1,090
1,008
146
I know that the P4000 is not a massive powerhouse compared to new cards, but it's available and free, so I'd really like to make use of both cards if possible.

Your "not a massive powerhouse" card is going for $600+ on eBay right now. I just found that interesting - I don't know much about that card but decided to look at what they're going for on eBay.

I'm pretty sure there's a workaround for getting SRBase to run on both GPU's, but I don't know the exact details or if it's still relevant. There was a post I had read somewhere some months back of adding a command line argument(or something along those lines) to mfaktc which is the executable BOINC uses for SRBase, but I don't remember the exact details.

Edit - it's somewhat coming back to me. I think you can run 2 instances of BOINC and then there's a way to force it to do a command line argument for each instance that specifies which GPU it is. Maybe look through this thread on the Mersenne forum and see if you can find out how to do it if you're really wanting to get SRBase running on both GPU's - https://mersenneforum.org/showthread.php?t=12827&page=319
 

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
Yeah. Quadro cards have really high sale prices. Even the older models. All GPU prices are crazy right now, but Quadros have always been crazy as they are marketed at engineering/development users with big budgets who make use of the extra RAM and computing power. In gaming benchmarks, the P4000 and the 1060 are actually very close. But in straight computing, the P4000 should be noticeably better which is why I really want to get it all working. For example, in the Einstein tasks that have been running overnight since I forgot to change the buffer size before getting tasks to test the dual cards, the 1060 has been averaging around 11 minutes per task, which is what it has done in the past, and the P4000 has been averaging a little over 8.5 minutes per task. That's a pretty significant difference. And there have been zero errored tasks since I reinstalled the GPU drivers so it does seem to be working great so far, at least for Einstein. :cool:

I'll see if I can find anything helpful in that thread and will try to get SRBase working when these Einstein tasks are gone. Thanks!
 
Last edited:

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
I found some suggestions to use this code in CC_CONFIG.XML in two (or more) separate client instances to tell each client to only use a specific GPU. And it actually does work properly in other projects, but not for SRBase. It even says in each BOINC Manager that it is only using GPU 0 or GPU 1, but all active tasks are still only running on the P4000 card regardless of what the Manager says.. :(

<options
<exclude_gpu>
<url>https://srbase.my-firewall.org/sr5/</url>
<type>NVIDIA</type>
<device_num>1</device_num>
</exclude_gpu>
<use_all_gpus>0</use_all_gpus>
</options>

Maybe I'll just use that code to have the GTX 1060 run a different project while the P4000 is working on SRBase...
 

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
I'm still disappointed that I can't get both cards to run SRBase at the same time, but I'm pretty happy with how well the P4000 is running it so far.

After a couple of hours running 1 task at a time, the P4000 is averaging about 27 minutes per task. The GTX 1060 was averaging a little over 36 minutes per task previously. I guess that just goes to show how well the computing optimizations on the Quadro card really work, since the two cards are very similar in gaming performance. :)
 

StefanR5R

Elite Member
Dec 10, 2016
5,459
7,718
136
I found some suggestions to use this code in CC_CONFIG.XML in two (or more) separate client instances to tell each client to only use a specific GPU. And it actually does work properly in other projects, but not for SRBase.
Indeed this does not work for SRBase's TF because passing the GPU index from the boinc client to the mfaktc application is broken. The two blissfully ignore what the other one is using as GPU index.

There was a post I had read somewhere some months back of adding a command line argument(or something along those lines) to mfaktc which is the executable BOINC uses for SRBase, but I don't remember the exact details.

Edit - it's somewhat coming back to me. I think you can run 2 instances of BOINC and then there's a way to force it to do a command line argument for each instance that specifies which GPU it is.
Thanks, it's somewhat coming back to me too now. :-)

User ydeeps of team Planet 3DNow! figured something out:
https://forum.planet3dnow.de/index.php?threads/formula-boinc-2021.441898/post-5339482
https://forum.planet3dnow.de/index.php?threads/formula-boinc-2021.441898/post-5339484

You may need to experiment with the indexes, could be 1 and 2, or 0 and 1 on a dual GPU host. In addition, configure each of the two boinc client instances such that each of them runs only one TF task at a time.

I haven't tried this modification myself yet, nor have I looked whether easier workarounds than this one have been found in the meantime.
 
Last edited:
  • Like
Reactions: Fardringle

StefanR5R

Elite Member
Dec 10, 2016
5,459
7,718
136
In addition, configure each of the two boinc client instances such that each of them runs only one TF task at a time.

I haven't tried this modification myself yet,
PS, I don't remember how well TF utilizes GPUs. Maybe it's actually beneficial for overall throughput if you run two simultaneous tasks per each GPU.
 

Icecold

Golden Member
Nov 15, 2004
1,090
1,008
146
When I had ran it before 2 tasks a time were a little bit higher PPD than 1 at a time on a 2080ti or more powerful card but it was nearly even on a 2070 or anything less powerful. It's certainly worth testing but I would be somewhat surprised if the Quadro P4000 can benefit from more than one task at a time.
 

Fardringle

Diamond Member
Oct 23, 2000
9,184
753
126
PS, I don't remember how well TF utilizes GPUs. Maybe it's actually beneficial for overall throughput if you run two simultaneous tasks per each GPU.
It might depend on the GPU. When the P4000 was running two at a time, it was averaging about 62 minutes per task. Running one at time now it's averaging just slightly over 25 minutes per task, so running one at a time is more efficient, at least for this card.