5

我正在尝试使用 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 主页复制的示例。

我的系统是:

  • 视窗 10
  • .NET v4.5.2
  • VS 2015 Community NVIDIA GPU计算工具包CUDA v8.0

Alea 是从 NuGet 11 月 9 日安装的。2016

  • 艾莉亚 (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,结果相同。

4

2 回答 2

5

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

于 2016-11-09T10:19:50.767 回答
1

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

于 2016-11-09T18:48:37.427 回答