I 通过 JCuda API 运行 CUDA。当我使用 NVIDIA 控制面板为参与的 JVM 可执行文件 (java.exe( 设置计算优化(默认情况下处于关闭状态(时,程序无法在对 cuCtxCreate 的调用中创建上下文。
对于优化设置,程序运行良好。唯一的问题是内核中运行时间的偏差太高 (~50%(。我一直在寻找在垄断模式下获得 CUDA 核心的方法,只是为了获得更稳定的结果。
我是否误解了控制面板中的此参数?
线程"主"jcuda 中的异常。库达例外:CUDA_ERROR_UNKNOWN at jcuda.driver.JCudaDriver.checkResult(JCudaDriver.java:353( at jcuda.driver.JCudaDriver.cuCtxCreate(JCudaDriver.java:1606( at com.varankin.cuda.CudaContext.(CudaContext.java:21(
配置:
- 带有集成显卡的英特尔 i7-4510U,设置为默认 GPU。
- NVIDIA GeForce 840M 在共享記憶體空間上。
- 视窗 10
- Java 8,修订版 152
- JCuda-All-0.9.0d-bin-x86_64
- 来自 cuda_9.2.148_win10 的 CUDA.exe
对于优化设置,程序运行良好。唯一的问题是内核中运行时间的偏差太高 (~50%(。
这可能是由 WDDM 驱动程序批处理计算命令引起的,如果您四处搜索,您会发现一些建议,您可以尝试将其负面影响降至最低。
我一直在寻找在垄断模式下获得 CUDA 核心的方法,只是为了获得更稳定的结果。
这种类型的操作模式仅适用于特斯拉和某些在Windows上使用TCC模式的Quadro GPU。您的 GPU 不能以这种方式使用。
我是否误解了控制面板中的此参数?
是的。引用文档:
Windows 10, Maxwell GPUs and later.
Offers significant improvement for some Compute applications.
Care should be taken when turning this setting ON, as there can
be unpredictable effects with some applications and graphics features.
发出警告后,安全的做法是离开该设置。