Author

Topic: [HOW-TO] cgminer: multiple workers/pools with multi GPU mining rig (Read 53744 times)

legendary
Activity: 2702
Merit: 1468
When you do it this way, you don't need all that extra. But use the same you already did but only better.
For example idle warnings from BTC Guild would tell you which CARD(S) is/are IDLE not just which mining RIG.

I'm just saying you have options: ANNUBIS, web monitor, simple monitoring php script etc.  If you want watchdog, email notifications for failures, use my akbash.  Customize it, source code is on github.

Don't tie your solution to what pool software does.  If their implementation changes (or they go bust) you'll have to rethink your solution.  Just saying....Running multiple miner instances one for each card seems dumb.
member
Activity: 83
Merit: 10
Or...

Run one instance of cgminer and use any of the web interfaces to cgminer API to display/chart the performance data.

cgminer/bfgminer both have a built-in pool failover mechanism.  I would not run one cgminer instance for one pool.  That is just asking for it.
Always use backup pools.

That is what one could do indeed. Thank you for your input. But as always there are severel ways to do it. Just showing what one could do.

In your situation, you would need to have extra software running on your mining rig. Or have another pc running the software, which also costs extra resources and power. It is not a shame to run multiple instances of cgminer or other mining software.

When you do it this way, you don't need all that extra. But use the same you already did but only better.
For example idle warnings from BTC Guild would tell you which CARD(S) is/are IDLE not just which mining RIG.

When you run only one instance of cgminer, it is not possible to have your mining rig's videocards to do different jobs.
Example: You could have one card mining scrypt and the other sha256. Why one would do that I don't know, but it just shows it is possible.


As you can see in the configuration file, I have a failover node set. Ofcourse it is your own choice to have a backup pool or not.

member
Activity: 83
Merit: 10
So today I found out that it is very easy to have different GPU's run on different pools. Or the same pool with different workers (BTC Guild).
This allows you to monitor you GPU's more accurately, and view each GPU's performance in the charts.

Need to get cgminer or any information about it?: CGMINER ASIC FPGA GPU overc monit fanspd RPC linux/win/osx/mip/r-pi...

For this example I will use BTC Guild as a reference.

1. Creating workers in BTC Guild
We need to create atleast 2 workers. Go to the workers page and create new workers and/or rename current workers.
Mine are 5870n1, 5870n2 and 5770(installed into the same mining rig).

2. Preparing cgminer
Create folders named, cgminergpu0 and cgminergpu1 and soforth.

Either copy cgminer.exe into each folder.
Or I prefer to do this in Windows in each folder:
- Create batch file called cgminer-btcguild.bat. (Does not matter what name it is, choose one that will help you identify).
- Paste the following line into it, adapt to your conditions:
Code:
"C:\Users\[YOUR USERNAME]\Downloads\cgminer.exe"

The latter will allow you to easily update/replace your cgminer.exe for all workers/pools you have configured.

3. Start your favorite texteditor and paste the following into it.
Code:
{
"pools" : [
{
"url" : "http://eu-stratum.btcguild.com:3333",
"user" : "YOURUSERNAME_5870n1",
"pass" : "123"
},
{
"url" : "http://stratum.btcguild.com:3333",
"user" : "YOURUSERNAME_5870n1",
"pass" : "123"
}
]
,
"device" : "0",
"intensity" : "12",
"vectors" : "2",
"worksize" : "256",
"kernel" : "phatk",
"lookup-gap" : "0",
"thread-concurrency" : "0",
"shaders" : "0",
"gpu-engine" : "0-960",
"gpu-fan" : "0-85",
"gpu-memclock" : "300",
"gpu-memdiff" : "0",
"gpu-powertune" : "0",
"gpu-vddc" : "0.000",
"temp-cutoff" : "95",
"temp-overheat" : "85",
"temp-target" : "75",
"api-port" : "4028",
"expiry" : "120",
"gpu-dyninterval" : "7",
"gpu-platform" : "1",
"gpu-threads" : "1",
"hotplug" : "5",
"log" : "5",
"no-pool-disable" : true,
"queue" : "1",
"scan-time" : "60",
"temp-hysteresis" : "3",
"shares" : "0",
"kernel-path" : "/usr/local/bin"
}

Now change the username to the first workername. If you use a different pool, change the "url" :  and "pass" : lines as well.
And leave the line "device" : "0", as it is.
Now change the other settings apropiatly to your GPU's optimal mining conditions.
Save the text file as cgminer.conf in the cgminergpu0 folder.

Do this for each GPU, incrementing the setting "device" : "0", by one for every gpu. The second GPU, the line would be "device" : "1",
Store the text file into the next folder, cgminergpu1. And so forth.

3. Running cgminer
You can start each miner manually or create a batch/script that will start them at the same time or with an interval of X seconds.
See 2. for an example. Change out the path (optionally change the executable name to the batch file). Add new lines for each worker.
Save it as an batch script (.bat) and run it to see if it works.

4. Adjusting settings
You can adjust settings live in cgminer while running. Play around with it a little bit. Just make sure you don't do anything crazy.
Then in the main screen store the settings using S then W then enter/return key.

5. Checking workers.
In a few minutes after running you should see your workers on the BTC Guild dashboard. Showing their own MHash/s, shares, stales, etc.

Leave it running for an hour or so, and check back into BTC Guild Charts page. You now have an overview of MHash/s for each GPU. You also now can add or remove a worker in the charts.


5. Figuring this out myself and testing it has cost me time, and some downtime on mining, losing out on some precious BTC.
If you found this helpfull, please donate: BTC 1DUmbnustDLHEs23EgXrgEjoqx5FiRZGrJ

6. Happy mining!

See post #4 for alternatives
Jump to: