2017-11-27 17 views
1

AleaGPUでGPUコードを実行する前にGPUが存在するかどうかを検出できますか?AleaGpuでGPUが使用可能かどうかを検出する

Gpu.Defaultはnullですか?このオブジェクトにチェックできるプロパティがありますか?

GPUが存在する場合、基本的にはより高速なバージョンのアルゴリズムを実行したい場合は、元の低速バージョンを実行します。

答えて

1

私は私のGPUを無効にしているが、このラインを試みた:

Console.WriteLine(Alea.Device.Devices.Count().ToString()); 

を、私はこの例外System.Exception was unhandled Message=[CUDAError] CUDA_ERROR_UNKNOWNを得て、 Gpu.Defaultにアクセスしようとすると同じ例外が発生します。私はGPUを持っているので、アリアは例外をスローしますが、それは無効になった場合、私はわからない、またはそれはdoesnのマシンと同じように動作します:

bool GpuEnabled = false; 
try 
{ 
    GpuEnabled = Alea.Device.Devices.Count() > 0; 
} 
catch 
{ 
    GpuEnabled = false; 
} 
Console.WriteLine(GpuEnabled.ToString()); 

注:だから、このような何かを行うことができますとにかく、このコードは両方の仮定を安全に処理する必要があります。

0

これは最も簡単な方法はおそらくある:(それはあなたがAPIの独立ます)

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(); 
} 
関連する問題