Mining on 2 GPU help

syaoran99syaoran99 Member Posts: 204
edited January 2016 in Mining
Hi Guys,

Once again I need some help with the process of mining on two GPU on my pc. The first being the GTX 970 and the second being the R9 280x

The problem I'm having this time is that when I tried opening the miner, it runs for a bit and then it freezes when I mine with the command --opencl-device 0

However upon mining with the command -t 2 the miner runs properly. The only problem is that it only detects my first GPU and does not hash on my second GPU card. I'm wondering if there's a way to fix this?

opening another instance of --opencl-device 1 does not help as the instance once again uses the GTX 970 instead of the R9 280x

Also when I run the --list-devices it appears that both GPUs are appearing in the list but then the window quickly closes within 1 second of it being open.

Comments

  • syaoran99syaoran99 Member Posts: 204
    edited January 2016
    Ok guys so after testing stuff a little, I've realized that when I use the -t 2 command, both GPU are running at max load. However the miner only shows the hashrate of the GTX970 and also acknowledges the GTX970 without mention of the 280x.

    HOWEVER, when I run the instance separately using --opencl-platform 1 the instance runs the 280x without mentioning the GTX970.

    is there any way for windows to open two instances of ethminer? I would like to open one with --opencl-platform 0 and another at opencl-platform 1 separately to ensure that both cards are running as expected.

    Any help would be appreciated. I'm wondering if this is because both cards are running on different platforms.

    @Genoil I'm wondering if you have any advice on experience with this? it would be very much appreciated.
    Post edited by syaoran99 on
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @syaoran99 : each 'ethminer' mines on 1 card, and 1 card only. So, two cards, two 'ethminers', each with the appropriate '--opencl-device'. However, the stock 'ethminer' only runs on AMD GPUs. You'll have to use the CUDA miner for the GTX. There are threads on the forum for CUDA mining. And you don't need the '-t' option for GPU mining; that's for CPU mining, at least I've never found it to have any affect, since all the "threading" on a GPU is done in hardware on the card itself. Anyway, I've done nothing with Nvidia cards, so take that into account :)

    -Best Care
    David
  • syaoran99syaoran99 Member Posts: 204
    edited January 2016
    dlehenky said:

    @syaoran99 : each 'ethminer' mines on 1 card, and 1 card only. So, two cards, two 'ethminers', each with the appropriate '--opencl-device'. However, the stock 'ethminer' only runs on AMD GPUs. You'll have to use the CUDA miner for the GTX. There are threads on the forum for CUDA mining. And you don't need the '-t' option for GPU mining; that's for CPU mining, at least I've never found it to have any affect, since all the "threading" on a GPU is done in hardware on the card itself. Anyway, I've done nothing with Nvidia cards, so take that into account :)

    -Best Care
    David

    Does windows allow for more than one instance of ethminer? I know i've tried saving multiple .bat files with different commands and opening them but then only the first ethminer opens while the second one has an error and crashes.

    The error will always show Dag generation failure on the second instance
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @syaoran99 : I don't do Windows, ever, but what are your DAG settings on 'ethminer'? All instances of 'ethminer' share one DAG directory, so you only want one of the 'ethminer' instances doing DAG pre-compute. In other words, one 'ethminer' should NOT have '--no-precompute' and the other 'ethminer' instances SHOULD have '--no-precompute'. Otherwise they all try to precompute against the same DAG directory. HTH.

    -Best Care
    David
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    Ideally, you use CUDA for the 970 and OpenCL for the 280X. If you want that, you'll need to download my miner and run two instances of it, one pointing to a non-default data dir (--data-dir flag if remember well). You'll get double the amount of DAG files on disk and need twice the system RAM for DAG downloading, but you'll get the most out of the two cards. -t 2 is also an option (@dlhenky the -t flag doesn't specify the number of compute threads, but CPU mining "control" threads. A CPU mining thread can control a GPU miner (that in turn, runs many compute threads).
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @Genoil : So, using '-t' on 'ethminer' with a GPU helps how? Does it allow one 'ethminer' to run more than one GPU? Or, does it allow 'ethminer' to be more responsive to GPU events? I have no idea, which is why I'm asking. I've looked at 'ethash_cl_miner.cpp' more than I care to admit, and I haven't seen any threading there, but I did see some references to threads up in 'libethcore' and 'libethash' code. Thanks!

    -Best Care
    David
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    @dlehenky yes it allows you to run multiple GPUs on one ethminer.
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @Genoil : Thanks! I never had any idea that was possible. All I've ever seen mentioned in the Wikis and forums is an 'ethminer' per card. I'll have to give that a go!
  • syaoran99syaoran99 Member Posts: 204
    Genoil said:

    Ideally, you use CUDA for the 970 and OpenCL for the 280X. If you want that, you'll need to download my miner and run two instances of it, one pointing to a non-default data dir (--data-dir flag if remember well). You'll get double the amount of DAG files on disk and need twice the system RAM for DAG downloading, but you'll get the most out of the two cards. -t 2 is also an option (@dlhenky the -t flag doesn't specify the number of compute threads, but CPU mining "control" threads. A CPU mining thread can control a GPU miner (that in turn, runs many compute threads).

    Thanks @Genoil I will try that out. I'm using your miner currently just without the --data-dir flag I will try that and hopefully it works.

    I tried the -t 2 earlier but somehow it does not work across 2 different platforms.
  • syaoran99syaoran99 Member Posts: 204
    edited February 2016
    @Genoil I've tried adding the flag --data-dir /usr/AppData/Ethash

    And what they gave me was "Invalid Argument: --data-dir" and closes immediately.

    I've also tried --datadir /usr/AppData/Ethash and it gives me the same thing.

    Not sure how to change the directory of it to allow two instances. If there's anyone out there who knows and can assist with answering or linking to a guide it would be great!:)

    Edit: I'm not sure how to type the directory line mostly. should it be like C:/User/Folder/folder inside Folder? Must it have <> or " "?

    An example would be very much appreciated. Also I'm assuming that this additional words is written in the .bat file right?
    Post edited by syaoran99 on
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @syaoran99 : Does '/usr/AppData/Ethash' exist as a directory?

    -Best Care
    David
  • syaoran99syaoran99 Member Posts: 204
    dlehenky said:

    @syaoran99 : Does '/usr/AppData/Ethash' exist as a directory?

    -Best Care
    David

    @dlehenky well the default directory is in C drive > Users > user > AppData > Ethash.

    Not sure how am I supposed to write that.
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    Try C:\Users\user\AppData\Ethash2 or C:/Users/user/AppData/Ethash2 or C:\\Users\\user\\AppData\\Ethash2
  • syaoran99syaoran99 Member Posts: 204
    edited February 2016
    Genoil said:

    Try C:\Users\user\AppData\Ethash2 or C:/Users/user/AppData/Ethash2 or C:\\Users\\user\\AppData\\Ethash2

    @Genoil I tried using all three addresses editing this in the .Bat file like this

    ethminer -G -F http://127.0.0.1:8080/MainAU --farm-recheck 200 --datadir C:\Users\user\AppData\Ethash2

    or

    ethminer -G -F http://127.0.0.1:8080/MainAU --farm-recheck 200 --data-dir C:\Users\user\AppData\Ethash2

    yet when I run the .Bat file, it still comes up with the Invalid Argument : --datadir thing and closes immediately.

    I'm not sure what's going on :/ The IP is dwarfpool's stratum address

    The weird part is that when I'm running -t 2 it just runs the first card but then the second card can be selected only via the flag --opencl-platform 1. --opencl-device 1 does not work and it will still revert to selecting the GTX 970 which is on the main drive

    @dlehenky
    Did you manage to get it to work? How was it done on your part?
    Post edited by syaoran99 on
  • dlehenkydlehenky Member Posts: 2,249 ✭✭✭✭
    @syaoran99 : I only have 1 type of card, so I haven't had to deal with some of the issues your running into, but your AMD card is going to be a separate "platform" from your Nvidia card, thus your need to specify platform 1 (the AMD is platform 0, I'm assuming). I'm not sure you can run two different platforms on one 'ethminer', but then again I've never tried it, nor read about anyone else that has. I would say I'd keep the AMD and Nvidia on separate 'ethminer' instances, using the CUDA version for the GTX. I'm gathering from what you've said that this arrangement introduces the '--data-dir' issue your having, but I have no idea how Windows path names are dealt with by the CUDA 'ethminer', since I never run Windows (don't have a license; don't want one). Obviously, life would be much simpler for you with either all AMD or all Nvidia cards, with AMD cards being, by far, the most widely used by Ethereum miners. I understand that this is probably not what you want to hear.

    On my rigs, I can run all the GPUs on each system with one 'ethminer' using '-t 6'. Thanks @Genoil ! Works like a champ!

    I'm really sorry that you're having so many problems getting going! I wish I could be of more help.

    -Best Care
    David
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    @syaoran99 as mentioned in the CUDA miner thread, the datadir argument is not in ethminer. I think it's in eth++ and actually used to specify where the blockchain data goes. The dir for storing DAGs is more or less hardcoded and needs quite a bit of work to make it configurable through a command line option. Considering the fact that not too many people have a mixed card setup, I think I'm skipping this one for now.
  • syaoran99syaoran99 Member Posts: 204
    dlehenky said:

    @syaoran99 : I only have 1 type of card, so I haven't had to deal with some of the issues your running into, but your AMD card is going to be a separate "platform" from your Nvidia card, thus your need to specify platform 1 (the AMD is platform 0, I'm assuming). I'm not sure you can run two different platforms on one 'ethminer', but then again I've never tried it, nor read about anyone else that has. I would say I'd keep the AMD and Nvidia on separate 'ethminer' instances, using the CUDA version for the GTX. I'm gathering from what you've said that this arrangement introduces the '--data-dir' issue your having, but I have no idea how Windows path names are dealt with by the CUDA 'ethminer', since I never run Windows (don't have a license; don't want one). Obviously, life would be much simpler for you with either all AMD or all Nvidia cards, with AMD cards being, by far, the most widely used by Ethereum miners. I understand that this is probably not what you want to hear.

    On my rigs, I can run all the GPUs on each system with one 'ethminer' using '-t 6'. Thanks @Genoil ! Works like a champ!

    I'm really sorry that you're having so many problems getting going! I wish I could be of more help.

    -Best Care
    David

    Genoil said:

    @syaoran99 as mentioned in the CUDA miner thread, the datadir argument is not in ethminer. I think it's in eth++ and actually used to specify where the blockchain data goes. The dir for storing DAGs is more or less hardcoded and needs quite a bit of work to make it configurable through a command line option. Considering the fact that not too many people have a mixed card setup, I think I'm skipping this one for now.


    @Genoil @dlehenky

    I've managed to find a solution for this with some help on another thread. For those who would be having the same issue as me as you've got two or more old cards which you want to use and are from different platforms,

    The current and only workaround for this on Windows is to create another user account for windows and then run two instances with each windows account running only one instance (the rest are run on alternate accounts on the current windows via (SHIFT+right click > Run with another account). Make sure that each instance has it's own folder of ethminer as well to allow for this.

    Additionally, each instance will require you to specify the different platforms they are running from which may be Nvidia, Tahiti, TahitiX with the flag --opencl-platform 0 and so on.

    I hope this helps future people who have problems like me.
  • Franco_ozFranco_oz Member Posts: 21
    from memory you use -R followed by the path

    snippet I saved for myself from one of @Genoil post

    Changes:
    - added cmd line option (-R [path-to-dir] or --dag-dir [path-to-dir]) to specify alternate DAG storage directory. This can be useful if you want to run multiple instances of ethminer with different configurations on the same rig. I.e. mixed CUDA/OpenCL mining. Or if your C:\ tends to run full.

    Keep in mind you need about 2GB ram per instance of Ethminer runninbg plus and extra amount for the system to keep working without using the page file
  • mwgame1mwgame1 Member Posts: 1
    edited June 2016
    wasup, how is your rig doing ?
    cuz i have gtx 970 and i want to add an amd gpu to my rig
    so i just want to know if your rig working without probs :)
    and is it easy to do the 2 windows account thingy to run booth of them ? and this method works for everyone ?
Sign In or Register to comment.