0

这是我第一次尝试在我的机器上运行 Alea TK MNIST 示例。

我按照http://www.aleagpu.com/release/3_0_2/doc/installation.html安装了 CUDA 8 和所有内容

但是运行它我总是得到这个错误:Unable to load DLL 'curand64_80': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

尽管我可以清楚地看到curand64_80.dll里面C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

我已经将配置设置为(app.config):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="aleaSettings" type="Alea.Settings, Alea"/>
  </configSections>
  <aleaSettings>
    <cuBLAS version="8.0"/>
    <cuRAND version="8.0"/>
  </aleaSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

这是完整的异常堆栈跟踪:

   at Alea.DynamicInterop.curandCreateGenerator.Invoke(IntPtr , RngType )
   at A.cdbbf7f52ce1317681b2fa10b7329e78e.-ctor@386-309.Invoke(Unit _arg3)
   at Alea.cuRAND.Generator..ctor(FSharpOption`1 cc2af9506f3fc494fecea785eae58ff3b, FSharpOption`1 cdd5e91d5c509dec430918468c49a7937, RngType c23e4321fb7f1de7409a3cd12e2cd5890)
   at (FSharpOption`1 , FSharpOption`1 , RngType )
   at AleaTK.GpuContext.CreateRandomGenerator(PseudoRandomType type)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at AleaTK.ExprImpl.PseudoRandomExpr`1.Execute(Assignment assignment, ILValue`1 output)
   at AleaTK.LExpr`1.Execute(Assignment assignment)
   at System.Threading.Tasks.Task.Execute()

我缺少什么以及如何成功运行示例?

4

2 回答 2

1

更新 PATH 环境变量以包含C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

我假设 CUDA 安装会更新我的 PATH 环境变量,但它没有

于 2017-01-12T06:45:29.547 回答
1

默认情况下,Alea GPU 3.0.2 正在寻找 CUDA 工具包 7.5。您似乎使用 CUDA 工具包 8.0。您必须相应地配置 Alea GPU。有关如何配置 CUDA takeit 版本的详细信息,请参阅文档。还要确保您构建和运行 64 位,因为几个 CUDA 库仅在 64 位中可用。HTH。

于 2017-01-12T02:53:01.653 回答