您好我正在使用alea gpu处理ML代码。有趣的是,当我尝试在我的笔记本电脑上运行我的代码时,除了太慢之外,一切正常。当我想在具有更强大GPU的第二台PC上运行我的代码时,它会因异常而崩溃:
System.Exception was unhandled
HResult=-2146233088
Message=Error opening outputfile 'C:\Users\USERNAME\AppData\Local\Temp\tmp64C4.tmp': No mapping for the Unicode character exists in the target multi-byte code page
Source location stack:
-> at defining runtime64 (sm61,64bit)
Loading method as kernel:
-> Method: AI_test.NeuralNet.Gpu.Activations.Hyperbolic.[VoidGpuActivationKernel(Single[,], Single[], Single[])]
-> InstanceOpt: AI_test.NeuralNet.Gpu.Activations.Hyperbolic
-> Argument.#0: System.Single[,]
-> Argument.#1: System.Single[]
-> Argument.#2: System.Single[]
Getting or loading method as kernel:
-> Method: AI_test.NeuralNet.Gpu.Activations.Hyperbolic.[VoidGpuActivationKernel(Single[,], Single[], Single[])]
-> InstanceOpt: AI_test.NeuralNet.Gpu.Activations.Hyperbolic
-> Argument.#0: System.Single[,]
-> Argument.#1: System.Single[]
-> Argument.#2: System.Single[]
Source=Alea
堆栈跟踪显示我崩溃了这段代码:
GpuDevice.Launch(_guessKernelFunc, GuessLaunchParam, Neurons, Input, Output);
但是我确定我的笔记本电脑上工作正常,所以我想念一些因PC设置引起的事情吗?我安装了Cuda 8.0。我在Cuda 9.0之前尝试过,但因为我遇到了同样的错误,我试图用我在笔记本电脑上使用的旧版8.0替换它,但它没有帮助。
第二个问题是,有人知道如何让compiller缓存我的内核而不是每次尝试加载相同的静态内核时都不生成新的GPU代码吗?我试着看一下样品,但对我来说并不清楚。
答案 0 :(得分:0)
因此对于那些会被这个问题解决的人来说,解决方案很容易。我的用户名文件夹采用Name Surname格式,当我使用没有空格的用户名创建新用户时,它再次开始工作。这是一个非常棘手的问题,但最终这是解决方案。