This is my first time trying to run the Alea TK MNIST example on my machine.
I installed CUDA 8 and everything in accordance with http://www.aleagpu.com/release/3_0_2/doc/installation.html
However running it I always get this error: Unable to load DLL 'curand64_80': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Even though I can clearly see the curand64_80.dll
in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
I've set the configuration as such (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>
This is the full exception stack trace:
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()
What am I missing and how can I run the sample successfully?
Update the PATH environment variable to include C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
I assumed that the CUDA installation would update my PATH environment variable, but it didn't