我开始了一个新的 VS2017 c# 控制台应用程序项目,并从包管理器中安装了 Alea 和 Alea.Fody。从网站上运行一段示例代码给了我以下异常。
System.TypeInitializationException 发生 HResult=0x80131534 消息='Alea.GlobalImplicitMemoryTracker' 的类型初始化程序引发了异常。Source=Alea StackTrace:在 Alea.GlobalImplicitMemoryTracker.GetInManagedFlag() 在 gptest.Program.DelegateWithClosureGpu() 在 gptest.Program.Main(String[] args) 在 c:\Users\myuser\documents\visual studio 2017\Projects\gputest \gptest\Program.cs:第 14 行
内部异常 1:TypeInitializationException:“A.cf5aded17df9f7cc4c132234dda010fa7”的类型初始化程序引发了异常。
内部异常 2:FileNotFoundException:无法加载文件或程序集 'FSharp.Core,Version=4.4.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该系统找不到指定的文件。
这是整个程序。
using Alea;
using Alea.Parallel;
using System.Linq;
namespace gputest
{
class Program
{
private const int Length = 1000000;
static void Main(string[] args)
{
DelegateWithClosureGpu();
}
[GpuManaged]
public static void DelegateWithClosureGpu()
{
var arg1 = Enumerable.Range(0, Length).ToArray();
var arg2 = Enumerable.Range(0, Length).ToArray();
var result = new int[Length];
Gpu.Default.For(0, result.Length, i => result[i] = arg1[i] + arg2[i]);
var expected = arg1.Zip(arg2, (x, y) => x + y);
//Assert.That(result, Is.EqualTo(expected));
}
}
}