cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

pwvdendr
Adept II

Building a desktop for scientific GPU computations in OpenCL -- some questions.

I'm planning to build a new desktop (budget all together max. +/- 4000 euros) for my research as a PhD student. I'm leaning towards an AMD build, but I still have some questions:

  • is there anything I should pay attention to when it comes to the motherboard & cooling? These are two things that I have not much experience in. I'm currently thinking of 3-4 HD7970s (rather than 2 HD7990 due to longer waiting time and expected cooling/noise problems), but I'm not sure whether that will fit in everywhere, and since I can afford water cooling, I have no idea whether my noise/heating fear with fans blowing inside the case is justified at all. I plan to put the case next to my table&char, so minimizing noise is important.
  • Currently when doing OpenCL computations on GPU, my windows freeze and I can't do anything else (not even browsing/chatting/typing). What would be the best remedy for this? Should I buy a low-end nVidia card, attach my screen to it and run OpenCL on the AMD platform? And would that give performance problems when running applications that use the GPU, such as games? Or should I disable windows hardware accelleration at all? Or what is the best solution for this?
  • When it comes to CPU, is it relevant whether the CPU is also from AMD? I'm not sure if there are any interaction that I should keep in mind. Same question for the motherboard: is there any benefit in an all-AMD setup or can I just consider all these parts as independent?

Thanks in advance!

Tags (1)
0 Likes
28 Replies
notyou
Adept III

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

1) I wouldn't worry about it provided you have a few case fans blowing air in/out to help regulate the temperature (just in case). But from what I've read in reviews, the 7970 already runs very quiet and cool compared to most other solutions.

2) I'm not 100% sure, but I believe this is a limitation in how the driver works. From what I know, the only solution is to make sure you don't let your kernel run more than a second or two (to minimize the freeze time) and instead use more enqueued kernels which gives control back to the CPU between kernel enqueues. You could also disable the watchdog timer, but this is more of a workaround to prevent the driver from timing out instead of making the machine usable while the OpenCL program is running. Others running Linux might be able to help out more with this one (but IIRC, running an Nvidia GPU as main + AMD GPUs for compute has its own problems).

3) Nope. I'm currently running an Intel + AMD system without any problems. The only possible benefit to an all AMD setup would be in the APU area (but then again, it's technically not possible to have an Intel+AMD APU) because of the on-chip features for faster communication. But this doesn't matter if you're using discrete GPUs.

0 Likes
ED1980
Adept II

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

For normal operation 3-4 HD7970s, desirable LGA 2011 platform, because the AM3 + you only get 8 lanes PCI-e 2.0 on the GPU which is not enough ... sometimes even 16x PCI-e 2.0 limits the performanceimageview.gif

0 Likes
tzachi_cohen
Staff
Staff

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

I would recommend connecting the display to a mainstrean GPU and keep the compute GPUs headless.

If you do not connect a display to a GPU the Windows watch dog will not initiate the TDR (Time out Detection Recovery) protocol when a kernel is executed for more than two seconds.

0 Likes
pwvdendr
Adept II

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

"Others running Linux might be able to help out more with this one"

--> I should have mentioned that I plan to run windows, sorry. (win7, 64bit)

Unless there is a serious reason to switch to linux for this?

In any case, I intended to use the computer as my normal work computer, which means I should be able to continue working while the computations are running

0 Likes
pwvdendr
Adept II

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

That is very interesting. Do you have a source to confirm this? Also, would it matter if the mainstream GPU is also AMD or not (i.e. same platform or not)? And if I use apps that use GPU (such as games), will they utilize the mainstream GPU only or also the compute GPUs?

0 Likes
Meteorhead
Challenger

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

I would highly recommend not to mix vendors, not because they wouldn't work, but because many cool features (like CL-GL interop) are more likely to work if they are the same vendor. Apps that use GPU (such as games) use GPU. (Really, the answer to your question is this) They will use the one that has the monitor hooked up to it. Best would be to have an IGP render desktop (and not waste PCI slots or lanes) and some games if you wish to play, and have the compute GPUs standalone with no graphics task assigned to them.

If you wish to play games while calculating... well then I think it would be more a user desktop, than a workstation. You should know however, that it is virtually impossible to play games and calculate on the same GPU (because compute kernels have higher priority than display kernels).

I think that simple applications that are limited by PCI-E bandwidth are just garbage. Specially stuff that are not highly interactive (and by higly I mean < 5ms latency). There must be really serious stuff going on under the hood if 4GB/s is not enough.

0 Likes
pwvdendr
Adept II

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

Apps that use GPU (such as games) use GPU. (Really, the answer to your question is this) They will use the one that has the monitor hooked up to it. Best would be to have an IGP render desktop (and not waste PCI slots or lanes) and some games if you wish to play, and have the compute GPUs standalone with no graphics task assigned to them.

So, "the one" that has the monitor hooked up to it, even if there are multiple monitors? And does it matter for this answer whether or not CrossFireX is enabled? I have no idea what the precise impact is on OpenCL and regular graphical apps, neither do I know if CrossFireX only works for games or if there are benefits for OpenCL as well.

If you wish to play games while calculating... well then I think it would be more a user desktop, than a workstation. You should know however, that it is virtually impossible to play games and calculate on the same GPU (because compute kernels have higher priority than display kernels).

No no, not playing games while calculating. 🙂

I was just wondering if it would be impossible to play games at all on such a machine, e.g. because the games can only find the cheap card I link the monitor to, rather than the big cards which would be compute-only. By the way, when I say games I mean any app using GPU, like video transcoding, photoshop, ...

But if I understand correct, using a cheap card A and high-performance cards B,C,D (all 4 in CrossFireX setup), then I can tell openCL to compute only on B,C,D so that A is free for rendering my desktop; and when not using OpenCL I can use them all for gaming/photoshop/other GPU apps. Right?

0 Likes
Meteorhead
Challenger

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

For OpenCL, you should forget about CrossFireX, it's best if you don't even connect the cards with CF bridge. (Simply because crossfired cards will simply not be visible for OpenCL) Windows should detect all GPUs hooked up to it, even if no monitor is attached.

The part about games... you can see in many games, that you can choose display adapter. I do not know what happens when you have multiple ones, and the monitor would be hooked on to one or the other. I don't know if the image can be calculated on one and then displayed on the other. (I have never had a machine with IGP and dGPU) So for this part, I cannot help you. If you connect the montitor to one of your dGPUs and use that for desktop (or game render), it will fall into the '2 seconds' category, which you most likely will wish to avoid. That's why the IGP is a better solution, plus desktop render will not get chunky in that case.

nou
Exemplar

Re: Building a desktop for scientific GPU computations in OpenCL -- some questions.

in OpenCL you enumerate platforms and then enumerate devices on this platforms. then you create context from this devices. so most likely you will get first IGP as OpenCL device and then other GPU. so you must program your application that it will skip this slow device.

in OpenGL on AMD cards rednder that card which output is hooked up display. there is also WGL extension to set opengl affinity.

so if you don't want freeze your display then IGP solutions seems best,

0 Likes