aleagpu抛出的TypeInitializationException

时间:2016-11-09 09:41:39

标签: c# aleagpu

我正在尝试使用aleagpu但是我得到了System.TypeInitializationException。我试图谷歌问题是什么,但我找不到任何解决方案,所以请帮忙。该计划是最简单的:

class Klazz
{
    private const int N = 100;
    private const int Length = 10000000;
    var gpu = Gpu.Default;// here is the Exception thrown          
    public static void Unmanaged()
    {
        var data = new int[Length];

        for (var k = 0; k < N; k++)
            gpu.For(0, data.Length, i => data[i] += 1); 
    }
}

我想象我的安装有问题,因为该程序是来自aleagpu主页的复制示例。

我的系统是:

  • Windows 10
  • .NET v4.5.2
  • VS 2015社区 NVIDIA GPU计算工具包CUDA v8.0

Alea于2016年11月9日从NuGet安装

  • Alea(3.0.1)
  • Alea.IL(2.2.0.3307)
  • Alea.CUDA(2.2.0.3307)
  • Alea.CUDA.IL (2.2.0.3307)
  • Alea.CUDA.Unbound(2.2.0.3307)

PATH中的变量是正确的。

我也尝试过AleaSample.CS.ParallelForAutoMemMgt,结果相同。

2 个答案:

答案 0 :(得分:5)

事实证明,aleagpu是用 F#编写的,当你安装 FSharp.Core 时,程序可以运行。 感谢Ghosthack回答了问题:Alea GPU Tutorial not compiling on VS 2015 Update 2 with FSharp.Core 4.4.0.0

答案 1 :(得分:1)

另外,请确保安装2.2版或3.x版。对于新版本3.x,您只需安装Alea或Alea.Fody软件包[https://www.nuget.org/packages/Alea/3.0.1][1],不要与2.2软件包混用。