我最近发现有一种方法,使用带有 CUDA 的 OpenJ9 来利用 GPU 性能。但现在我仍然面临着问题。
我的 PC 上安装了最新版本的 CUDA 以及当前版本的 OpenJ9。
此外,我使用本页上写的内容来设置我的环境:
https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.vm.80.doc/docs/gpu_enabling.html
不幸的是,即使我认为所有路径变量都设置正确,我也无法在我的 GPU 上执行任何处理。 即使我在运行程序时打开了日志记录进程,我收到的唯一反馈就是这些信息:
[IBM GPU JIT]: Dynamic linking error: Unable to locate NVML library nvml.dll
[IBM GPU JIT]: Dynamic linking error: null pointer while loading shared library
[IBM GPU JIT]: Device Number 0: name=GeForce GTX 1070, ComputeCapability=6.1
我的程序本身非常简单,只是使用 Lambda 来生成一些工作负载来尝试 GPU 处理。
也许有人正在面临一个熟悉的问题并掌握了它,这样他/她就可以提供一些帮助。 谢谢!
最佳答案
我希望您只需将包含 nvml.dll 的目录添加到您的 PATH 中即可。
您引用的页面有点难以阅读,但它确实提到需要更新 PATH,特别是包含 nvml.dll 的文件夹。
You can find the NVML library in your NVIDIA drivers directory. The default location of this directory is C:\Program Files\NVIDIA Corporation\NVSMI.
如果 NVIDIA 软件安装在系统上的默认位置,则以下内容应该允许您运行测试:
set PATH=%PATH%;C:\Program Files\NVIDIA Corporation\NVSMI
您可以使用“系统属性”控制面板对话框使该更改永久生效。
关于java - 将 OpenJ9 与 CUDA 和 GPU 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60269086/