2013-08-27 91 views
0

我是GPGPU計算新手。我發現這個在線庫叫做Hybrid。他們說C#GPGPU庫混合錯誤

「Hybrid.Net使.NET開發人員使用簡單的衆所周知的結構,以充分利用GPU的強大動力的數據和計算密集型應用程序:的Parallel.For」

我下載的圖書館和時我運行他們提供的是

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Hybrid.Gpu; 
using Hybrid.MsilToOpenCL; 
using Hybrid; 
using OpenCLNet; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
         //define vectors a, b and c 
      int vectorLength = 1024; 
      int[] a = new int[vectorLength]; 
      int[] b = new int[vectorLength]; 
      int[] c = new int[vectorLength]; 

      //initialize vectors a, b and c 

      //execute vector addition on GPU 
      Hybrid.Parallel.For(Execute.OnSingleGpu, 0, vectorLength, delegate(int i) 
      { 
       c[i] = a[i] + b[i]; 
      }); 
     } 
    } 
} 

HelloWorld應用程序我得到

An unhandled exception of type 'System.TypeInitializationException' occurred in Hybrid.MsilToOpenCL.dll 

Additional information: The type initializer for 'OpenCLNet.OpenCL' threw an exception. 

誰能告訴我這裏發生了什麼?

(只是讓你知道我是新的StackOverflow。)

回答

0

檢查內部異常。它會有你需要的細節。

+0

你的意思就像嘗試抓住的東西?我什麼都沒做,我收到了上面給你的信息。 –

+0

@KamalRathnayake當你說「我得到」時,你會放下異常消息。但該異常對象具有「InnerException」屬性。該屬性有時爲空,但是當發生類型初始化異常時,它將原始異常存儲在InnerException屬性中。它應該給你更多關於該類型初始化失敗的信息。 – McKay