I wrote recently about consolidating some of my old hardware into a few mining rigs since the price of Ethereum has made mining somewhat worthwhile again, at least if you already have the equipment. I also went over how to workaround a somewhat common error related to not having enough virtual memory. Now with a different rig I am rebuilding, I have encountered a “NVIDIA NVML library not found” error.
This NVML error occurs when using Nvidia graphic cards (GPUs) along with Claymore’s Dual Ethereum AMD+NVIDIA GPU Miner v15.0 (Windows/Linux). This may occur with other mining software as well, but I was using the Claymore software when I encountered the error. I am also running the rig using Windows 10 64-bit edition, in case it is an OS specific issue.
Upon startup of the Claymore Ethereum 15.0 mining software you may get a notice along the lines of: “NVIDIA NVML library not found, temperature monitoring for NVIDIA GPUs disabled.” as shown in the image at the top of the post. You will also notice that you will get no temperature updates while mining. If you open the log file, looking near the beginning, you will also see the same error.
The NVIDIA Management Library (NVML) is a C-based API for monitoring and managing various states of the NVIDIA GPU devices. Some of the device states that can be queried include the temperature and fan speeds, as well as power management (power draw and power limits) of which the Claymore software utilizes to display the GPU statistics.
My first instinct was to simply reinstall the Nvidia display drivers, but for some reason that did not seem to resolve the issue.
So after doing a search of my local C: drive, I found there indeed was a NVML.dll file located in the C:\Windows\System32 folder. After a bit of research I determined that the Claymore mining software is expecting this file to be located in the C:\Program Files\NVIDIA Corporation\NVSMI folder.
On the mining rig I was having this issue with, I already had the “C:\Program Files\NVIDIA Corporation” folder, but not the NVSMI sub folder, nor the missing NVML.dll file.
So I created the NVSMI sub-folder and then copy/pasted the NVML.dll from the C:\Windows\System32 I searched for earlier into the new NVSMI folder I just made, as shown above.
So now the new folder with the copied nvml.dll file looks as shown in the above image.
I rebooted the rig for good measure and let the mining software autostart as it normally is setup to do.
The Claymore software now no longer complains about the missing NVML file and my GPU temperatures and power usage statistics are displaying normally as they should.
I also opened up the Claymore mining log file (located within your mining folder) and can see that the mining software is now detecting NVML version 10.441.87 as shown below, where in previous logs they displayed the “NVIDIA NVML library not found, temperature monitoring for NVIDIA GPUs disabled.” error.
So while it was a simple enough workaround the root cause is frustrating, as I also use the webpage mining monitor that comes with Claymore. It is nice to see all my rigs temperatures at a glace in case one develops trouble or starts to overheat. So by having one rig misbehaving this became harder and I could not be sure the rig wasn’t overheating.
So I hope this post may be of use to anyone else who may run into the problem.