cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

afo
Adept I

MultiGPU implementation in Linux?

Which is the best strategy to implement multigpu in linux?

Hello all,

Some time ago nou published a very good post telling the steps to configure a multigpu enviroment in linux (http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=139928&forumid=9).

Now I am running my application in linux and I am facing a strange situation: I have 2xHD5970 boards, so my application receives a parameter from 0 to 3 to select the device in which to run the kernel. If I open a terminal and run the application, everything goes fine for the 4 numbers (0 to 3); But If I open four terminals, and run 4 instances of the application at the same time (everyone with its corresponding parameter), the total running time goes 2x times slower.

So, I suspect that something is going serialized, but every instance of the application has its own context , command queues, buffers, etc. so there is no reason to have serialization issues.

So I kindly ask: Is there any function in the OpenCl api that gets serialized no matter the number of contexts? Is there a better approach to do multigpu? I have read the OpenCL programming guide, and for multigpu it states that one can do multiple contexts because the opencl runtime starts a new thread for each of them, and all functions (except kernel functions) are thread safe. I will really apreciate any insight about these matters. Thanks in advance for your help.

best regards,

Alfonso

0 Likes
9 Replies
eklund_n
Journeyman III

search for 5790 in this forum.

They are crossfired internally and the stream sdk doesn't support crossfired devices as of now. u shall only use the first gpu on each card. 

0 Likes

Thanks, I was aware of that; in windows the second GPU doesn't work, even in standalone mode and with crossfire disabled. 

In linux it seems to work (the four GPUs give the correct answers), but they work slower when they work at the same time; that is the reason that I suspect a serialization issue in the opencl api.

again, thanks for the feedback

best regards,

Alfonso

0 Likes

hi afo,

It might be a case when memory transfer is bottleneck.

Anyways AMD does not support devices other than device[0] for now.

0 Likes

Hi,

Yes, I know that AMD doesn't support the second GPU of HD5970, but:

1) Changing to 4xHD5870/VFirepro9800 will make a difference?

2) it's a little bit annoying to have "the fastest graphics card on the planet" but only being capable to use 50% of its computing power and 6% of its memory (12% tweaking an enviromental variable) per thread.

3) HD5970 was available since october 2009, AtiSDK 2.0 was available on december 2009; how much time should we wait to have full support for HD5970?. Retrospectively it looks like HD5970 was some kind of experiment or was targeted only for games.

4) From here, it looks like AMD doesn't take care to full support HD5970 for opencl because a) they cann't because there is a flaw in the design; or b) they know that HD5970 has roughly 2x/4x horsepower than nvidia's tesla, so they have no direct competition.

anyway, thanks for your opinion; I will make some experiments to see if I can use the four GPUs.

best regards,

Alfonso

0 Likes

afo,
This is something that we are currently working towards fixing. So expect to be able to use the full power of the cards soon.
0 Likes

Presumably this problem will be fixed for the upcoming 6-series 'Antilles' dual-GPU cards? I would really like to use them for my future compute cluster, but if they are crippled like the 5970 I will have to buy Nvidia cards instead.

0 Likes

this is appereantly driver problem.

0 Likes

Starglider,
nou is correct. This is a driver problem and not a hardware issue. Once the driver problem is solved, all of the OpenCL capable dual-gpu on a single PCB solutions will be able to use both devices.
0 Likes

So I've been bitten by this. Is there a timeline for expected solution, test versions, anything? I have a lot of hardware just sitting there, and if there is no expectation on resolving this quickly I'll return it and go for the less performant nVidia cards.

Also, is the 100% CPU usage when running GPU code part of the issue being resolved too?

0 Likes