gpt4 book ai didi

java - 如何获取 jcuda 中的 CUDA 核心数?

转载 作者:行者123 更新时间:2023-11-30 02:28:24 28 4
gpt4 key购买 nike

如何获取 jcuda 中的 CUDA 核心数?

我已经尝试过,但它没有产生正确的输出:

int cudacount = cudaDeviceAttr.cudaDevAttrMultiProcessorCount;

它返回 16,但我有 1 个带有 640 个 cudacore 的 Nvidia GPU。

上述属性的 JavaDoc 为 available here 。任何帮助将不胜感激。

最佳答案

看来this answer几乎完全符合您的要求。它是用 C 编写的,类型略有不同,所以这里有一个 Java 版本(几乎没有什么不同):

int getSPCount()
{
final int mp = cudaDeviceAttr.cudaDevAttrMultiProcessorCount;
final int major = cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor;
final int minor = cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor;

switch (major)
{
case 2: // Fermi
return (minor == 1) ? mp * 48 : mp * 32;
case 3: // Kepler
return mp * 192;
case 5: // Maxwell
return mp * 128;
case 6: // Pascal
if (minor == 1) {
return mp * 128;
}
else if (minor == 0) {
return mp * 64;
}
}
throw new RuntimeException("Unknown device type");
}

像这样使用这个函数:

int cudacount = getSPCount();

关于java - 如何获取 jcuda 中的 CUDA 核心数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949242/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com