Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Journeyman III

Multiple devices in Linux

Current status on using multiple devices with ATI Stream under Linux.

We are currently deploying some test systems with multiple cards, to use ATI Stream. We have 3 systems, all based on Supermicro C7X58 motherboards with a Core i7 920 CPU and 3 * 2 GiB of RAM.

The first system has 2 Radeon HD4870X2, the second 2 FireStream 9250 and the third 2 Radeon HD4850. All have the Crossfire thingamajig plugged. All have a monitor (actually the same one, through a KVM switch) on the first card, and nothing on the second. All are running debian kernel "2.6.26-bpo.1-amd64" and debian "xserver-xorg 7.1.0-19".

1) First system, with dual HD4870X2: Driver from Works OK, FindNumDevices reports 4 devices. I had to add "TerminateServer=true" to kdmrc to avoid the crash-on-close-session bug.

2) Second system, with dual FireStream 9250: Driver from Works OK, FindNumDevices reports 2 devices. I had to add "TerminateServer=true" to kdmrc to avoid the crash-on-close-session bug. I also had to disable the VBE extension in xorg.conf, otherwise the system would lock-up when starting X.

3) Third system, with dual Radeon HD4850: Driver from (also tried the FireStream driver, no better). Can't get it to work with both cards; it always lock-up when closing the session, almost always at reboot and fairly often when cold-starting. Disabling VBE doesn't change things much. Using a single card with "TerminateServer=true" works fine, but of course FindNumDevices reports only 1 device.

If anyone has any idea how to fix things for 3, I'm open to any suggestion. Also, is there any easy way to check that Stream can really exploit non-primary devices ? FindNumDevices is nice, but a real test binary using multiple cards would be better.

Thanks for any help.

UPDATE: it seems we still have problems with the multi-GPUs systems, mostly at boot time 😞

1 Reply


Interesting setup you have there.

For #3, just to be sure that both the cards are working properly, can you connect monitors (or KVM) to both cards and verify both cards can drive the desktop?

I forget if the CAL samples have a command-line option of choosing the device to run on. But, if you get into programming CAL, you can choose which device to run a kernel on.

The easiest way in Brook+ is via the environment variable BRT_ADAPTER (starting from 0). For each device reported by FindNumDevices, you can open a different shell, set BRT_ADAPTER (to 0,1,...) and run a Brook+ sample.