我是 GPGPU 计算的新手。我找到了这个名为Hybrid的在线图书馆。他们说
“Hybrid.Net 使 .NET 开发人员能够利用 GPU 的强大功能,使用众所周知的简单构造:Parallel.For 来处理数据和计算密集型应用程序。”
我下载了库,当我运行他们提供的 helloworld 应用程序时
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];
});
}
}
}
我明白了
An unhandled exception of type 'System.TypeInitializationException' occurred in Hybrid.MsilToOpenCL.dll
Additional information: The type initializer for 'OpenCLNet.OpenCL' threw an exception.
谁能告诉我这里发生了什么?
(只是让你知道我是 StackOverflow 的新手。)