是否需要处理Worker.Default或CUBLAS.Default?
我的CUDA代码运行正常,但程序退出时出现以下异常:
Got CUDA error CUDA_ERROR_INVALID_VALUE
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at Alea.CUDA.CUDAInterop.cuSafeCall(cudaError_enum result)
at <StartupCode$Alea-CUDA>.$Engine.f@1-46[T](WorkerContext this, FSharpFunc`2
f, Unit _arg6)
at Alea.CUDA.WorkerContext.eval[T](FSharpFunc`2 f)
at Alea.CUDA.Program.Dispose(Boolean disposing)
Got CUDA error CUDA_ERROR_INVALID_VALUE
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at Alea.CUDA.CUDAInterop.cuSafeCall(cudaError_enum result)
at <StartupCode$Alea-CUDA>.$Engine.f@1-46[T](WorkerContext this, FSharpFunc`2
f, Unit _arg6)
at Alea.CUDA.WorkerContext.eval[T](FSharpFunc`2 f)
at Alea.CUDA.Program.Dispose(Boolean disposing)
我可以在多个类中使用Worker.Default和CUBLAS.Default,还是应该创建一个并将其传递给需要工作人员的人?
由于 约翰
答案 0 :(得分:1)
虽然可以处理工人,但不建议您处理它。 Worker代表一个CUDA上下文,应该是长寿的。默认的worker和默认的cublas对象是在默认的GPU设备上构建的。