Skip to content

Commit

Permalink
Version 2.0
Browse files Browse the repository at this point in the history
CPU only.
Windows7, Windows 10, Ubuntu 16/18, MacOS
  • Loading branch information
polyminer1 committed Jan 17, 2020
1 parent 9aca5d1 commit 8163435
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 193 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# rhminer update and bugfix history

Version 2.0
* Added RandomHash2. Up to 110% Faster than the reference miner.

Version 1.5.3 - 8 Jul 2019
* Added MacOS support and binaries. (Tested on High Sierra and El Capitan)
* Added internal cpu throttling option to slow down mining.
Expand Down
157 changes: 15 additions & 142 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# rhminer

RandomHash miner for the PascalCoin blockchain.<br>
Support Intel/AMD 64 bit CPU and NVidia GPU.<br>
Miner for RandomHash2 POW algorithm.<br>
Support Intel/AMD 64 bit CPU.<br>
Support stratum and solo mining<br>
Works on Windows 7,10 and Ubuntu 18
Works on Windows 7,10 and Ubuntu 16/18

## Download prebuilt binaries
**Current version is 1.5.3** <br>

There is one prebuilt binariy per OS and CUDA architectures. <br>
**Current version is 2.0** <br>
Support Windows7, Windows 10, Ubuntu 16/18, MacOS
There is one prebuilt binariy per OS <br>
https://github.com/polyminer1/rhminer/releases/<br>

## Alternative download site :
Expand Down Expand Up @@ -37,131 +37,27 @@ CPU : Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz with 4 logical cores
This tells you what is the ideal maximum number of threads for cpu mining (-cputhreads) <br>

```
Solo mining examples: rhminer.exe -v 2 -r 20 -s http://127.0.0.1:4009 -cpu -cputhreads 1 -gpu 0 -gputhreads 100 -extrapayload HelloWorld
Solo mining examples: rhminer.exe -v 2 -r 20 -s http://127.0.0.1:4009 -cpu -cputhreads 1 -extrapayload HelloWorld
NOTE: remove -gpu 0 -gputhreads 100 if you dont have a gpu
```
Note2: It is not recommended to mine using a laptop.

## Supported Cuda architecture
* Kepler GTX 700 series, Tesla K40/K80
* Maxwell GTX 900 series, Quadro M series, GTX Titan X
* Pascal GTX 1000 series, Titan Xp, Tesla P40, Tesla P4,GP100/Tesla P100 DGX-1
* Volta GTX 1100 series (GV104), Tesla V100
* Turing GTX 2000 series (GTX RTX, GTX 2060, GTX 2070, GTX 2080)

## Gpu mining
To mine using gpu you must provide the gpu numbers and the amount of threads for each gpu.<br>
If you only have one gpu, use **-gpu 0** and **-gputhreads {amount of threads}**<br>
If you have more than one gpus, you can see their number by executing the miner with the *list* option :<br>
```
C:>rhminer -list
rhminer v0.9 beta for CPU and NVIDIA GPUs by polyminer1 (http://github.com/polyminer1)
NVIDIA CUDA SDK 9.2
Donations : Pascal account 529692-23
Donations : Bitcoin address 19GfXGpRJfwcHPx2Nf8wHgMps8Eat1o4Jp
List of gpus and cpus:
GPU0 : GeForce GTX 1060 3GB
GPU1 : GeForce GTX 1060 3GB
GPU2 : GeForce GTX 950 2GB
CPU : Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
```
Then select the ones you want to mine with like this : <br>
```
rhminer -s http://localhost:4009 -gpu 1,2 -gputhreads 262,102
```

## Ideal CUDA threads count
To find the ideal maximum amount of threads, start with 75% of the memory divided by 8.8. <br>
For a GTX 1060 3GB that is 3000 * 0.75 / 8.8 = 255 threads. <br>
Then run 2 minutes and if everything is stable, raise by say 32 until you get no crashes after 2 min.<br>
To help you in that process, look for the log line that say "CUDA: Using " when the miner starts. It will indicate how much memory you take and how much is left depending on your selected thread count.<br>
**ALLWAYS** let at lease 150 meg of free memory, for internal OS operations, or you have stability issues.<br>


## Tested on
CPU: I3, I5, Core2, Xeon, Athlon <br>
GPU: GTX 950, GTX 1060, GTX 1070 <br>
CUDA: Linux CUDA 9.1, Windows CUDA 9.2 <br>
CPU: I3, I5, Core2, Xeon, Macbook <br>

## Performances for V1.3
## Performances for V2.0

| Cpu/GPU | OS | Threads | Speed in H/s | Extra infos |
| ---------------------------------------|------------|-------------:|-------------:|---------------------------------------|
| i5-7500 CPU @ 3.40GHz | Win10 | 4 | 1112 | |
| i5-3337U CPU @ 1.80GHz | Win10 | 4 | 417 | |
| i5-2400 CPU @ 3.1 GHz | Win10 | 4 | 791 | |
| i7-4770 | Linux | 8 | 1070 | |
| i7-4770 @ 3.7 GHz | Win10 | 8 | 1344 | dual ddr3 1333 memory |
| i7-4770K @ 4.5 GHz | Kali | 8 | 1841 | |
| i7-7700K @ 4.7 GHz | Ubuntu | 8 | 2107 | dual ddr4 3200 memory |
| i7-4790K | Ubuntu | 8 | 1760 | dual channel |
| i7-4790K | Win10 | 8 | 1420 | dual channel |
| i7-4980HQ | Ubuntu | 8 | 1396 | |
| i7-4980HQ | Win10 | 8 | 1360 | |
| i7-5600U | Ubuntu | 4 | 541 | |
| i7-5600U | Win7 | 4 | 492 | |
| i7-6700K @ 4.6 GHz | Ubuntu | 8 | 1755 | dual ddr4 3200 memory |
| Xeon(R) CPU W3520 @ 2.67GHz | Win10 | 8 | 819 | |
| Xeon(R) CPU E5-2665 0 @ 2.40GH | Win10 | 16 | 1645 | |
| Xeon(r) CPU E5-2630v4 | ? | 14 | 1900 | |
| Xeon(r) CPU E5-2420v2 on Hyper-V | ? | 8 | 800 | |
| Xeon(R) CPU X5650 @ 2.67GHz | ? | 24 | 2357 | |
| Xeon(R) CPU X5675 | Win10 | 12 | 1419 | tripple channel |
| Xeon(R) CPU X5675 | Ubuntu | 12 | 1734 | tripple channel |
| Xeon 12 core ES v3 E5 @ 2.7 GHz | Kali | 25 | 3400 | |
| Xeon(R) Platinum 8168 CPU @ 2.70GHz | ? | 32 | **7162** | |
| Dual Xeon(R) X5675 | Win10 | 24 | 2330 | tripple channel |
| Dual Xeon(R) X5675 | Ubuntu | 24 | 2850 | tripple channel |
| Ryzen 1800x | Win10 | 16 | 2560 | |
| Ryzen threadripper 1950X @ 3.4 Ghz | Ubuntu | 32 | **5378** | sseboost 1, Quad Channel ddr4 3200mhz |
| Ryzen 2700 @ 3.4 GHz | Ubuntu | 6 | 2856 | sseboost 1, Quad Channel ddr4 3200mhz |
| Ryzen 2700x@ 4.09 GHz | Kali | 8 | 3046 | |
| Core(TM) 2 QuadCore Q6600 @ 2.40GHz | Win7 | 4 | 397 | |
| Intel Atom X7 | Win10 | 4 | 240 | |
| Intel Pentium 4400 @3.3Ghz | Win10 | 2 | 504 | dual ddr4 2400 memory |
| Intel Pentium G3420 | Ubuntu | 2 | 445 | |
| Intel Celeron 3930 @2.9GHz | Win10 | 2 | 447 | mono ddr4 2400 memory |
| AMD PHENOM-II-X6 @ 3.25Ghz | Win10 | 6 | 564 | oldgen, ddr3 memory |
| AMD PHENOM-II-X4 @ 3.6 GHz | Ubuntu | 4 | 460 | oldgen, ddr3 memory |
| i7-8750H CPU @ 2.20GHz | win10 | 12 | 56,742 | |
| i5-3337U CPU @ 1.80GHz | Win10 | 4 | 14,539 | |
| Core(TM) 2 QuadCore Q6600 @ 2.40GHz | Win7 | 2 | 6,835 | |

**NOTE: I do not recommend to overclock your cpu. If you do it, it's at your own risk.**

## Performance for v.1.4 on CUDA

| GPU | OS | Threads | Speed in H/s |
| ---------------------------------------|------------|-------------:|-------------:|
| gtx 950 2gb | Windows | 140 | 140 |
| Gtx 1060 3gb | Windows | 280 | 305 |
| Gtx 1070 8gb | Windows | 384 | 467 |

note: raw is for raw performance on all hyper-threads. This does not represent real life performance.

## Build instructions (Windows)
Install VisualStudio 2017 with chose Platform Toolset v140 <br>
Install the lastest NVIDIA Display Driver <br>
Install the CUDA Toolkit 9.2 (or more) <br>
Install boost_1_64_0 and make libs using bjam (https://www.boost.org/doc/libs/1_64_0/more/getting_started/windows.html) <br>
Open solution, select target and compile <br>
Run <br>

## Build Linux (Ubuntu)
sudo apt-get install git build-essential cmake <br>
install CUDA ToolKit <br>
Install and compile boost_1_64_0 <br>
Install jsoncpp <br>
git clone https://github.com/polyminer1/rhminer.git <br>
cd rhminer <br>
mkdir build <br>
cd build <br>
*To build for CUDA Pascal :* cmake -DRH_CPU_ONLY=OFF -DRH_DEBUG_TARGET=OFF -DRH_CUDA_ARCH=Pascal --target all .. <br>
*To build for CPU only :* cmake -DRH_CPU_ONLY=ON -DRH_DEBUG_TARGET=OFF --target all .. <br>
make all <br>


## ScreenSaver
To download the screensaver go to release section here https://github.com/polyminer1/rhminer/releases and download **PascalCoinScreenSaver.zip** <br>
To install PascalCoin ScreenSaver simply right-click on file PascalCoinScreenSaver.scr and click "install" from the menu. <br>
Expand All @@ -172,15 +68,6 @@ To set a mining password open regedit.exe and append your password command line,
EX: -pw MyEmail@email.com <br>
Dont forget to put a space at the end. <br>


## Stability issues
Thre are some limitations on nvidia gpu to consider.

First, the kernel is not 100% stable in all settings. This mean you'll have to experiment to find the stable sweet spot in term of gputhreads. Maximum thread count does not mean maximum speed. Sometimes lower thread count will give you more stability and more speed also.

On multiple gpu rigs, it's NOT recommended to mine CPU at the same time. You'll have more kernel timeout error because the driver will lack cpu time.<br>
Also, it is recommented, on multiple GPU rigs, to run the miner in a loop in a batch file !

## Troubleshoot
On Windows 7/8/10, if you get the missing OpenCL.dll error you need to download it into rhminer's folder. (hint: You can safely get one with the Intel SDK on Intel's opencl website)

Expand Down Expand Up @@ -243,12 +130,7 @@ Gpu options:
-cputhreads Number of CPU miner threads when mining with CPU. ex: -cpu -cputhreads 4.
NOTE: adding + before thread count will disable the maximum thread count safety of one thread per core/hyperthread.
Use this option at your own risk.
-gpu Enable indiviaual GPU by their index. GPU not in the list will be disabled. ex: -gpu 0,3,4.
-gputhreads Cuda thread count. ex: -gputhreads 100 launche 100 threads on selected gpu
-kernelactivewaiting Enable active waiting on kernel run.
This will raise cpu usage but bring more stability, specially when mining on multiple gpu.
WARNING: This affect cpu mining
Network options:
-s Stratum/wallet server address:port.
NOTE: You can also use http://address to connect to local wallet.
Expand Down Expand Up @@ -277,8 +159,8 @@ With config file:
With command line:
Mining solo on cpu : rhminer.exe -v 2 -r 20 -s http://127.0.0.1:4009 -cpu -cputhreads 4 -extrapayload HelloWorld
Mining solo on cpu and gpu : rhminer.exe -v 2 -r 20 -s http://127.0.0.1:4009 -cpu -cputhreads 4 -gpu 0 -gputhreads 262 -extrapayload HelloWorld
Mining on a pool with 6 gpu : rhminer.exe -v 2 -r 20 -s stratum+tcp://somepool.com:1379 -su MyUsername -gpu 0,1,2,3,4,5 -gputhreads 400,512,512,512,210,512 -extrapayload Rig1
Mining solo on cpu : rhminer.exe -v 2 -r 20 -s http://127.0.0.1:4009 -cpu -cputhreads 4 -extrapayload HelloWorld
Mining on a pool : rhminer.exe -v 2 -r 20 -s stratum+tcp://somepool.com:1379 -su MyUsername -extrapayload Rig1
```

## Api access
Expand All @@ -298,15 +180,6 @@ Just sending empty string will return mining status in json format like that:
```
{
"infos": [
{
"name": "GPU2",
"threads": 262,
"speed": 114,
"accepted": 1,
"rejected": 0,
"temp": 0,
"fan": 0
},
{
"name": "CPU",
"threads": 2,
Expand Down
52 changes: 1 addition & 51 deletions Release/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# rhminer binaries

**Current version is 1.5.3** <br>
**Current version is 2.0** <br>


Prebuilt binaries for the PascalCoin RandomHash miner.<br>
Expand All @@ -11,53 +11,3 @@ Download here : https://github.com/polyminer1/rhminer/releases/<br>
* Windows binaries https://mega.nz/#F!DqpAjCJQ!Q12a_YRlu_CWA92kIglKug
* Linux binaries https://mega.nz/#F!Dz4ElAwK!gbWbU4OpmEf6YnOCLIKfSQ

## Release checksums MD5
```
Windows MD5 :
--------------------------------
MD5 for rhminer.exe CPU is
7e5e0be27579d5fbc44e72f221cdfb79
--------------------------------
MD5 for rhminer.exe CPU_OLDGEN is
334ff9bcd585caeb05003df28df5e52f
--------------------------------
MD5 for rhminer.exe Kepler is
026719b0aba0a9ce0a67ba317e0c82c2
--------------------------------
MD5 for rhminer.exe Maxwell is
c54ab0e4b1586eeaff122fe576851dad
--------------------------------
MD5 for rhminer.exe Pascal is
88a9c332f8201c653fe44afc906a0c8a
--------------------------------
MD5 for rhminer.exe Volta is
0e8b81a8bf1514dbc9e2fa340b574ce7
--------------------------------
MD5 for rhminer.exe Turing is
33cdbad333c7ea7a9de7a45ca07965af
--------------------------------
.
Linux MD5
-------------------------------
MD5 for rhminer for CPU is :
e04d64a55be2d2854be48110e77fa729
-------------------------------
MD5 for rhminer for CPU_OLDGEN is :
cfd1fc9f25d733a9b04d737c42e04ed3
-------------------------------
MD5 for rhminer for Kepler is :
d4ba71d538cc7bacf7d87dd36d4ac4d2
-------------------------------
MD5 for rhminer for Maxwell is :
b9cf02f41347c502c8025e24335e6e28
-------------------------------
MD5 for rhminer for Pascal is :
13683f7c793c74120aa555ddfc1aeaf7
-------------------------------
MD5 for rhminer for Volta is :
38d520e8eafe433fa8f8bf71f3a0d921
-------------------------------
MD5 for rhminer for Turing is :
6ec944625c943791faf6317a1d1b835b
```

0 comments on commit 8163435

Please sign in to comment.