I've been trying to enable all the four GPU cores for GPGPU programs in my dual 4870 X2 system.
So far I've found it close to impossible to enable all the cores in Vista. calDeviceGetCount function maxes at 2 whatever I do.
With Windows Server 2003 I've been able to get all the GPU cores recognized with calDeviceGetCount, but performance has been less than stellar.
I've tested with Sisoft Sandra 2009 GPGPU benchmark and with GPU2 Folding@Home client. Both of which show performance less than a single 4870 X2 card should give, and they shouldn't be CPU bottlenecked. The programs appear to run flawlessly with all four R770 ASICs recognized though.
So I'm beginning to wonder if the GPU enumeration fails somehow and in fact only two R770 ASICs are being used.
Interestingly, I found that in Vista the calDeviceGetInfo function recognizes only the first two ASICs as reported by calDeviceGetCount, whereas in W2K3 even non-existent GPU cores (e.g. #10) get recognized as a "real" R770. CAL bug or driver issue?