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 firestream_8_561_lnx64_073064e.run. 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 firestream_8_561_lnx64_073064e.run. 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 ati-driver-installer-8-12-x86.x86_64.run (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 😞
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.