0
System.TypeInitializationException: The type initializer for 'Alea.CUDA.IL.CIRCallInstructionBuilder' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Alea.IL, Version=2.1.2.3274, Culture=neutral, PublicKeyToken=ba52afc3c2e933d6' or one of its dependencies. The system cannot find the file specified.

以上是相关的片段。我猜我没有正确设置 Alea,但麻烦的是其他一切对我来说都很完美。只有下面这段代码会引发异常。

let absoluteSumModule = (new DeviceReduceModule<float32>(GPUModuleTarget.Worker(worker), fun a b -> abs(a)+abs(b))).Create(hidden_layer_width*dtest_data.num_rows)

我在 F# 脚本模式下完成所有工作,这就是我的设置方式。

#I @"C:\F# Packages\packages\Alea.CUDA.2.1.2.3274\private"
#I @"C:\F# Packages\packages\Alea.CUDA.2.1.2.3274\lib\net40"
#I @"C:\F# Packages\packages\Alea.CUDA.IL.2.1.2.3274\lib\net40"
#I @"C:\F# Packages\packages\Alea.CUDA.Unbound.2.1.2.3274\lib\net40"
#r @"Alea.CUDA.Unbound.dll"
#r @"Alea.CUDA.IL.dll"
#r @"Alea.CUDA.dll"
#r @"Alea.CUDA.CT.Native.X86.B64.Windows.dll"
#r "System.Configuration.dll"

我自己的代码,CuBlas,Unbound 的随机模块,Unbound 的块缩减和扫描,以及DeviceSumModuleF32为我工作。Alea.CUDA.Settings.Instance.Resource.AssemblyPath我尝试将and指向Alea.CUDA.Settings.Instance.Resource.Path各种库目录,但这似乎根本没有做任何事情。在过去的几周里根本没有设置它并没有妨碍我。我还没有接触过 app.config 文件,因为我不确定如何配置它,并且不习惯手动编辑配置文件。

有什么建议吗?

4

1 回答 1

1

我猜你错过了 loading Alea.IL.dllAlea.CUDA.Unbound取决于Alea.CUDA.ILAlea.CUDA.IL取决于Alea.CUDAAND Alea.IL。请参阅此处了解更多信息。

在您的 fsx 文件中,您可以尝试 add Alea.IL,并且您不需要引用 Alea.CUDA.CT.XXXX,只需将 Resource.AssemblyPath 指向该私有文件夹就足够了。

于 2015-09-04T03:01:56.263 回答