View Single Post
  #30  
Old 04-14-2012, 10:20 PM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Quote:
That should be possible.

According to the nVidia docs, you can query this via NVCPL.DLL (liked to documentation).

The call to be used is NvCplGetDataInt() (page 67), with the argument NVCPL_API_NUMBER_OF_SLI_GPUS or NVCPL_API_SLI_MULTI_GPU_RENDERING_MODE you should obtain the information required.

In oder to access this information, you'll need P/Invoke. If it is OK to statistically link NVCPL.DLL you just have to create the correct import (static external method) and you're fine. Otherwise, you can also choose the LoadLibrary and GetEntryPoint way and use the Marshal class to create an instance of a delegate (declared with the correct arguments) which represents the function to be called.

Edit: The following snippet may get you started (I don't have a nVidia card though, so that's completely untested and on your own risk ):
Code:
public const int NVCPL_API_NUMBER_OF_GPUS =7;    // Graphics card number of GPUs. 
public const int NVCPL_API_NUMBER_OF_SLI_GPUS = 8;    // Graphics card number of SLI GPU clusters available. 
public const int NVCPL_API_SLI_MULTI_GPU_RENDERING_MODE = 9;    // Get/Set SLI multi-GPU redering mode.  

[DllImport("NVCPL.DLL", CallingConvention=CallingConvention.Cdecl)]
public static extern bool nvCplGetDataInt([In] int lFlag, [Out] out int plInfo);

public static void Main()       {
        int sliGpuCount;
        if (nvCplGetDataInt(NVCPL_API_NUMBER_OF_SLI_GPUS, out sliGpuCount)) {
                // we got the result
                Console.WriteLine(string.Format("SLI GPU present: {0}", sliGpuCount));
        } else {
                // something did go wrong
                Console.WriteLine("Failed to query NV data");
        }
}
source: http://stackoverflow.com/questions/1...mode-is-active
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote