有没有办法在.Net应用程序中获取系统的GPU信息?我正在编写一个GPGPU应用程序,想知道系统显卡中的内核总数。我需要知道这一点,所以我可以动态地改变我通过GPU处理数据的方式。
答案 0 :(得分:1)
您可以通过CUDA获取此信息。
cuda API提供的设备属性调用cudaGetDeviceProperties将帮助您获得多处理器的总数。根据计算能力,您可以获得每个多处理器的核心数。 deviceQuery SDK示例可能会指导您完成此操作。
该方法可在cudart_{arch}_{ver}.dll
中找到。这是P / Invoke的一个例子:
[DllImport(CUDARTDLL, CharSet = CharSet.Ansi, EntryPoint = "cudaGetDeviceProperties")]
public static extern cudaError_t cudaGetDeviceProperties(out cudaDeviceProp props, int device);
这需要部署cuda运行时dll。
CUDA核心执行顶点和片段图形操作,因此可以(以前)命名为streamprocessors。
答案 1 :(得分:-2)
这可能对您有用。 Here.