HashPeakWhat's this?Determining the most effecient hashrate for GPU-based cryptocurrency mining is a tedious process. It usually involves manually trying a large number of GPU engine core frequencies and keeping track of the resulting hashrate to detect any peaks in hashrate. HashPeak automates this process.
HashPeak is a .NET 2.0 console application that connects to a running instance of sgminer or cgminer, sets a GPU engine clock, waits for the hashrate to stabilize and then measures the hashrate. The application is provided with a range of GPU clocks to test and then runs through them in succession. Upon completion, the application presents the user with the lowest GPU enging clock frequency that resulted in the highest possible hashrate.
In addition, HashPeak generates a CSV (Comma-Separated Values) file including all measured data as well as a plotted graph in the form of a PNG file.
LicenseHashPeak is open source software released under the MIT License. The source code for HashPeak is available via GitHub at
https://github.com/rickardandersson/HashPeak.
Command line argumentsOptions:
--host=VALUE IP or hostname for miner API. Default: 127.0.0.1.
--port=VALUE Port number for miner API. Default: 4028.
--gpu-id=VALUE GPU ID to work on. [required]
--min-gpu-clock=VALUE Lower limit of GPU engine clock frequency range to
test. [required]
--max-gpu-clock=VALUE Upper limit of GPU engine clock frequency range to
test. [required]
--step=VALUE Number of MHz to increase GPU engine clock per
iteration. Default 1.
--delay=VALUE Seconds to wait between setting new clock and
testing the hashrate. Default: auto.
--help Show this message and exit.
Here's an example running HashPeak on GPU with ID 0 on the local miner instance, measuring the hashrate for GPU clocks 950-1025 MHz with a step of 5:
HashPeak.exe --gpu-id 0 --min-gpu-clock 950 --max-gpu-clock 1025 --step 5
Please review README.md in its entirety for more detailed information on running HashPeak and information on giving the application privileged API access to your miner.MinersThe recommended miner to use with HashPeak is sgminer. Although HashPeak works with cgminer, and most likely bfgminer as well, the precision of scrypt hashrates reported through the API is very limited in cgminer. In sgminer, the precision is down to a tenth of a kilohash/s, but in cgminer, the precision is 10 kilohashes/s.
ScreenshotsHashPeak running:
A sample PNG generated by the application (click to zoom):
And the accompanying CSV file:
"Timestamp","Memory clock","GPU clock","Hashrate (khash/s)","Hardware errors"
"2014-02-11 10:57:54","1250","1010","715,1","0"
"2014-02-11 10:58:09","1250","1010","714,3","0"
"2014-02-11 10:58:22","1250","1015","718,7","0"
"2014-02-11 10:58:32","1250","1020","721,4","0"
"2014-02-11 10:58:43","1250","1025","724,5","0"
"2014-02-11 10:58:53","1250","1030","727,4","0"
"2014-02-11 10:59:05","1250","1035","731,7","0"
"2014-02-11 10:59:19","1250","1040","735,1","0"
"2014-02-11 10:59:49","1250","1045","732,4","0"
"2014-02-11 11:00:22","1250","1050","715,0","2"
"2014-02-11 11:00:52","1250","1055","680,5","3"
"2014-02-11 11:01:22","1250","1060","664,2","9"
DownloadI've compiled HashPeak and made it available for download via
https://github.com/rickardandersson/HashPeak/releases/download/v1.0.1/HashPeak-1.0.1.zip. If you have qualms over downloading and running binaries from people you don't know, you can download the source and build it yourself using Visual Studio.
The binary should run on all forms of Windows provided that .NET Framework 2.0 is installed. It should also run on Mono, but I have yet to try this. If you do, please post your results.
DonationsIf you like HashPeak and have some cryptocurrency burning a hole in your pocket, by all means.
BTC: 1L6zn1zPVxFzbucip7AE7LH7aU2s3haHTL
LTC: LS1c68c6DgvMMkV4mqgwXJboo2HCws9VKc
BC: BGfHDAkiNA8uMXLgHdaW2oXqeJv11cCjXZ
DOGE: DTwrM6GQNXvrtVcGW9smpEC19mDaWzXcRE
Thanks and enjoy!
EDIT 2014-05-05: Updated for release 1.0.1. Removed link to mega.co.nz and moved binaries to Github (via the releases feature).