如何获得GPU上的核心总数

时间:2014-04-20 16:29:41

标签: c# gpgpu

有没有办法在.Net应用程序中获取系统的GPU信息?我正在编写一个GPGPU应用程序,想知道系统显卡中的内核总数。我需要知道这一点,所以我可以动态地改变我通过GPU处理数据的方式。

2 个答案:

答案 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.