【问题标题】:Disposing the default worker in Alea CUDA在 Alea CUDA 中处理默认工作线程
【发布时间】:2015-12-18 12:10:00
【问题描述】:

是否需要dispose 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 还是应该创建一个并将其传递给任何需要工作者的人?

谢谢 约翰

【问题讨论】:

    标签: f# gpgpu aleagpu


    【解决方案1】:

    worker虽然可以被dispose,但不建议dispose。 Worker 代表一个 CUDA 上下文,应该是长期存在的。默认工作人员和默认 cublas 对象构建在您的默认 GPU 设备上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多