首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测AleaGpu上的GPU是否可用

检测AleaGpu上的GPU是否可用
EN

Stack Overflow用户
提问于 2017-11-27 04:05:03
回答 2查看 331关注 0票数 1

在使用AleaGPU运行GPU代码之前,是否能够检测到GPU是否存在?

Gpu.Default是否为空?此对象上是否有可检查的属性?

如果GPU存在,我基本上希望运行一个更快的算法版本,否则我想运行最初的慢速版本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-24 22:01:18

我已经禁用了我的GPU,然后尝试了这一行:

代码语言:javascript
复制
Console.WriteLine(Alea.Device.Devices.Count().ToString());

我得到了这个异常System.Exception was unhandled Message=[CUDAError] CUDA_ERROR_UNKNOWN,如果您尝试访问Gpu.Default,您也会得到相同的异常。所以你可以这样做:

代码语言:javascript
复制
bool GpuEnabled = false;
try
{
    GpuEnabled = Alea.Device.Devices.Count() > 0;
}
catch
{
    GpuEnabled = false;
}
Console.WriteLine(GpuEnabled.ToString());

注意:我不确定Alea是否抛出了一个异常,因为我有一个GPU,但是它被禁用了,或者它的行为方式与一台根本没有GPU的机器一样,无论如何,这段代码应该安全地处理这两个假设。

票数 2
EN

Stack Overflow用户

发布于 2017-11-28 14:36:19

这可能是最简单的方法:(它使您的API独立)

代码语言:javascript
复制
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DisplayConfiguration");

var q = searcher.Get()
                .SelectMany(x => x.Properties)
                .Where(x => x.Name == "Description")

foreach (var item in q)
{
   yield return item.Value.ToString();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47503804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档