Several weeks ago I wrote an article about how to enable SLI / CF for OpenGL applications. Today, the article shows some other tips for enabling SLI and CrossFire support for MSI Kombustor. Of course, these tips are also valid for other OpenGL apps like FurMark, TessMark or your own OpenGL demo!
1 – How to enable SLI support for GeForce cards
MSI GTX 460 Cyclone, 2-way SLI
For simple OpenGL applications, just follow the steps described HERE. But for MSI Kombustor, tweaking SLI in NVIDIA control panel is not enough to get the most of your GPUs because of the post processing. If you run KMark in 1080 preset, a 2-way SLI system will have a lower score than a single GPU system. With default settings, NVIDIA drivers are not able to properly handle OpenGL scenes with post processing effects (via FBO / render to texture or RTT). It’s not a bug in the driver but rather a matter of politics or something like this.
Even if you follow (and I followed) NVIDIA’s guide (SLI Best Practices), your application is not still able to fully exploit SLI. For example, a single GTX 460 has a score of 1505 points (32FPS) in KMark Preset Extreme (KMark is Kombustor OpenGL 4 benchmark) while two GTX 460 in SLI have a score of 1367 points (20 FPS) for the same preset.
Then what is the solution?
Simply tweaking the NVIDIA profile with GeForce 3D Settings Profile Manager. This tool, developed by NVIDIA, allows to export and import the profile file. The profile file is a simple text file anyone can edit with a simple text editor. Here is a profile that works fine for MSI Kombustor and allows to take advantage of n-way SLI up to four GPUs:
Profile "MSI Kombustor" ShowOn GeForce ProfileType Application Executable "MSIKombustorDX9.exe" Executable "MSIKombustorDX10.exe" Executable "MSIKombustorDX11.exe" Setting ID_0x00a06946 = 0x084000f5 Setting ID_0x1033cec1 = 0x00000003 Setting ID_0x1033cec2 = 0x00000002 Setting ID_0x1033dcd2 = 0x00000004 Setting ID_0x1033dcd3 = 0x00000004 Setting ID_0x1095def8 = 0x02c00005 Setting ID_0x20441369 = 0x00000001 Setting ID_0x209746c1 = 0x04280001 Setting ID_0x20ebd7b8 = 0x00000020 EndProfile
Just copy and paste this profile in NVIDIA profile file and import it with the GeForce 3D Settings Profile Manager utility.
KMark, OpenGL 4, Preset 1080, GPU PhysX
|2370 points (60 FPS) – GTX 460 2-way SLI with profile
|1505 points (32 FPS) – GTX 460 single
|1367 points (20 FPS) – GTX 460 2-way SLI without profile
MSI Kombustor, burn-in test
Burn-in test, OpenGL 2, 1920×1080 fullscreen, no AA, Post FX Off
|4102 points (68 FPS) – GTX 460 SLI with profile
|2063 points (34 FPS) – GTX 460 single
Burn-in test, OpenGL 2, 1920×1080 fullscreen, no AA, Post FX On
|2076 points (35 FPS) – GTX 460 SLI with profile
|1042 points (17 FPS) – GTX 460 single
MSI Kombustor burn-in test – SLI is properly exploited in OpenGL 2 + PostFX with the new profile
2 – How to enable CrossFire support for Radeon cards
SAPPHIRE Radeon HD 6970 in 2-way CrossFire
CrossFire is AMD’s multi-GPU technology for Radeon graphics cards. Since Catalyst 11.2 (and maybe Cat11.1), AMD’s graphic drivers come with a CrossFire profile for FurMark. And since MSI Kombustor and FurMark have some code in common, you can rename MSIKombustorXXX.exe in FurMark.exe without problem 😉
Here are some scores for a Radeon HD 6970.
KMark, OpenGL 4, Preset 1080, CPU PhysX
|2414 points (52 FPS) – HD 6970 CrossFire
|1406 points (41 FPS) – HD 6970 single
Burn-in test, OpenGL 2, 1920×1080 fullscreen, no AA, no Post FX
|7987 points (113 FPS) – HD 6970 CrossFire
|4147 points (69 FPS) – HD 6970 single