DeviceReduceModule 找不到 IL 文件
DeviceReduceModule can't find the IL file
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
和 Alea.CUDA.Settings.Instance.Resource.Path
指向各种库目录,但这似乎根本没有做任何事情。在过去的几周里根本没有设置它并没有妨碍我。我没有触及 app.config 文件,因为我不确定如何配置它,并且不太习惯手动编辑配置文件。
有什么建议吗?
我猜你错过了加载 Alea.IL.dll
。 Alea.CUDA.Unbound
取决于 Alea.CUDA.IL
,Alea.CUDA.IL
取决于 Alea.CUDA
和 Alea.IL
。有关详细信息,请参阅 here。
在你的 fsx 文件中,你可以尝试添加 Alea.IL
,你不需要参考 Alea.CUDA.CT.XXXX,只需将 Resource.AssemblyPath 指向那个私人文件夹就足够了。
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
和 Alea.CUDA.Settings.Instance.Resource.Path
指向各种库目录,但这似乎根本没有做任何事情。在过去的几周里根本没有设置它并没有妨碍我。我没有触及 app.config 文件,因为我不确定如何配置它,并且不太习惯手动编辑配置文件。
有什么建议吗?
我猜你错过了加载 Alea.IL.dll
。 Alea.CUDA.Unbound
取决于 Alea.CUDA.IL
,Alea.CUDA.IL
取决于 Alea.CUDA
和 Alea.IL
。有关详细信息,请参阅 here。
在你的 fsx 文件中,你可以尝试添加 Alea.IL
,你不需要参考 Alea.CUDA.CT.XXXX,只需将 Resource.AssemblyPath 指向那个私人文件夹就足够了。