CUDA miner

1131416181969

Comments

  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    edited September 2015
    @SuchFakeAccount CUDA 7.5 required. I have a commit ready that will also build on CUDA 6.5, but haven't fully tested it yet. Either wait for that, or install CUDA 7.5 or go to ./cpp-ethereum/libethash-cuda/keccak.cuh and change the lines #if __CUDA_ARCH__ >= 500 into #if __CUDA_ARCH__ >= 600. Mind you, with CUDA 7.5 you get the best performance (+5% on GTX750Ti).

    -- edit-- commit done

    new binaries! should also improve hashrate on Maxwell 5.2 cards now.
    Post edited by Genoil on
  • antonio8antonio8 Member Posts: 44
    @Genoil

    Will play around with the new release later tonight. Gotta get ready for work.

    Tried really quick and deleted DAG files in the 750ti rig and still same thing but I have not tried it with the 6 card rig. I want to save those DAG's first just in case.

    I get the same speed on my 96-'s but I did not delete the old DAG files.
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    you don't need to delete dag files.
  • antonio8antonio8 Member Posts: 44
    Genoil said:

    you don't need to delete dag files.

    I know. I was just hoping and praying.

    I waste a lot of time messing with things for the heck of it.
  • go6ooo1212go6ooo1212 Member Posts: 17
    I still can't run mine 750Tis under win 8.1 x64. Is there a solution with that OS. The result is low hashrate or none...
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    edited September 2015
    @antonio I'm beginning to suspect what the problem is. On Win7, I'm now in the situation where I can benchmark and simulate mining @ 8.8MH/s but actually mine at only 3-4. The only real difference is the size of the DAG file. We're now in 6th epoch, with DAG size @ 1.1 GB. Epoch 1 is exactly 1GB. So I think the Windows driver has problems allocating more than 1GB in a way that it is quickly accessible.

    The solution is an approach similar to an issue with some AMD cards that could not allocate more than 256MB in one chunk. The solution *may be* to split the dag in half. Probably comes at a performance penalty, but not like seen now.
  • sot173sot173 Member Posts: 10
    Hello and thank you for the great work on this project, using the latest binaries on Win 8.1 Pro my GTX-760 is hashing at 9.2MH/s.

    However, I am still having trouble to compile under OSX 10.9.5, CUDA 7.0, getting the following error:

    Scanning dependencies of target ethash-cl
    [ 25%] Building CXX object libethash-cl/CMakeFiles/ethash-cl.dir/ethash_cl_miner.cpp.o
    nvcc fatal : redefinition of argument 'std'
    CMake Error at ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o.cmake:207 (message):
    Error generating
    /Volumes/OSX-STORAGE/Users/honeydive/Applications/Ethereum/cpp-ethereum-cudaminer-frontier-3/libethash-cuda/CMakeFiles/ethash-cuda.dir//./ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o


    make[2]: *** [libethash-cuda/CMakeFiles/ethash-cuda.dir/ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o] Error 1
    make[1]: *** [libethash-cuda/CMakeFiles/ethash-cuda.dir/all] Error 2

    Any help will be much appreciated.
  • antonio8antonio8 Member Posts: 44
    Genoil said:

    @antonio I'm beginning to suspect what the problem is. On Win7, I'm now in the situation where I can benchmark and simulate mining @ 8.8MH/s but actually mine at only 3-4. The only real difference is the size of the DAG file. We're now in 6th epoch, with DAG size @ 1.1 GB. Epoch 1 is exactly 1GB. So I think the Windows driver has problems allocating more than 1GB in a way that it is quickly accessible.

    The solution is an approach similar to an issue with some AMD cards that could not allocate more than 256MB in one chunk. The solution *may be* to split the dag in half. Probably comes at a performance penalty, but not like seen now.

    That kind of makes sense to me. Not sure you seen where my main rig would not mine any more and I rebooted and still no success.

    I ended up deleting the DAG file as last resort and it worked again.

    That rig is on an older small ssd drive and was really low on space. Less than 400 MB was left. Deleting that DAG freed up 4 GB.

    I never thought about what you said but do you think maybe messing with the page file in Windows might help with the 750ti issue?
  • go6ooo1212go6ooo1212 Member Posts: 17
    I've just got couple of GTX950 of MSI. Will test the last code with them in win 10 x64...
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    @sot173 hmm mac..totally out of my comfort zone. Regarding your GTX760 (Compute 3.0), I think you should try to compile the cudaminer-uint64 branch for Windows. It may be a lot faster. The reason I'm saying this is because earlier this week, I found that that branch ran a lot faster than the frontier branch on another Compute 3.0 device (Grid K520 found on Amazon AWS G2 instances). They share the same GK104 core.

  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    @antonio no i don't think would make a difference. take a look at this last post:

    https://devtalk.nvidia.com/default/topic/845409/cuda-programming-and-performance/huge-performance-difference-depending-on-the-machine-i-put-my-card-in/post/4659883/#4659883

    Check out the bus interface load in the left (actual mining) part. Using common sense I would almost assume the DAG is loaded into GPU-mapped system RAM (gotta love those CUDA features). Could you check what happens to your system RAM when you load up ethminer? You should lose about 1.1 GB. If it is (way) more, it could very well be that (parts of) the DAG file end up on the wrong side of the PCI-e bus...

    Can't check myself atm, have no GPU in the machine atm and can't switch it off to plug one in either..
  • RoBiKRoBiK Member Posts: 6
    @Genoil hi there, this is RoBiK from nvidia developer forum ;) I have taken a look at your implementation and a have several proposals for improvements and bugfixes (from what i can see you have at least two races in your code). I made a fork so i can fix a few things ;) If you like we can chat for example on skype... no need to pollute this thread with technical details.
  • antonio8antonio8 Member Posts: 44
    @Genoil
    I see above you have a message from nvidia

    I looked at the memory being used and here is what I got.

    Rig 1 with 5 750ti Memory without miner is at 25%. With miner running goes to 36% Rig has 12Gb of memory. Mining at 10 Mh/s. So 3Gb without and 4.32 Gb with (if my math is correct).

    Rig 2 with 6 750ti Memory without miner is at 62%. With miner running goes to 79% Rig has 8 GB of memory. Mining at 28 M/s. So 4.96 Gb without and 6.32 Gb with (again if my math is correct).

    Not sure if this is what you meant but not sure how to see actual Memory numbers.

    On a side note I remembered having issues with AMD cards not running full speed when I first started and had to use dummy plug in those cards. I tried with the 750ti's and the dummy plugs did nothing at all to help.
  • PhantomPhantom Member Posts: 46
    Rig 1: 2 x GTX960 and 3 x GTX970

    Windows 7: 67 Mh/s and hashrate drops down to 61 Mh/s after 3-4 hours. I have to restart my rig to get full speed.

    Ubuntu: almost 78 Mh/s and run very stable

    Rig 2: 6 x GTX750ti runs on Ubuntu only

    Stock clock: 52Mh/s ~ 425W
    Overclock: 58.5Mh/s ~ 480W

    I've been tested for many days:

    1. OC on Windows:
    GTX960: does not work with Ethminer, but ccminer
    GTX970: It works, but not much.

    2. OC on Ubuntu:
    GTX750ti: work very good with Ethminer & ccminer
    GTX960 & GTX970: do not work with Ethminer

  • cflushcflush Member Posts: 24
    @Phantom @Genoil Okay...I reinstalled ubuntu and following your / Genoils recent instructions, I get this error. Please assist! Please remember I am full-retard with Linux. Thanks.

    [email protected]:~/cpp-ethereum# cmake -DBUNDLE=cudaminer -DCOMPUTE=50
    -- The C compiler identification is GNU 4.9.2
    -- The CXX compiler identification is GNU 4.9.2
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- ctest path: /usr/bin/ctest
    CMake Error at cmake/FindPackageHandleStandardArgs.cmake:138 (message):
    Could NOT find CryptoPP (missing: CRYPTOPP_INCLUDE_DIR CRYPTOPP_LIBRARY)
    (Required is exact version "5.6.2")
    Call Stack (most recent call first):
    cmake/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
    cmake/FindCryptoPP.cmake:107 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    cmake/EthDependencies.cmake:44 (find_package)
    CMakeLists.txt:336 (include)


    -- Configuring incomplete, errors occurred!
    See also "/home/dan/cpp-ethereum/CMakeFiles/CMakeOutput.log".

  • cflushcflush Member Posts: 24
    edited September 2015
    @Phantom @Genoil I think I missed original steps..trying again

    Nope..still getting errors

    [email protected]:~/cpp-ethereum# cmake -DBUNDLE=cudaminer -DCOMPUTE=50
    -- ctest path: /usr/bin/ctest
    CMake Error at cmake/FindPackageHandleStandardArgs.cmake:138 (message):
    Could NOT find CryptoPP (missing: CRYPTOPP_INCLUDE_DIR CRYPTOPP_LIBRARY)
    (Required is exact version "5.6.2")
    Call Stack (most recent call first):
    cmake/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
    cmake/FindCryptoPP.cmake:107 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    cmake/EthDependencies.cmake:44 (find_package)
    CMakeLists.txt:336 (include)


    -- Configuring incomplete, errors occurred!
    See also "/home/dan/cpp-ethereum/CMakeFiles/CMakeOutput.log".
    [email protected]:~/cpp-ethereum#


    Post edited by cflush on
  • cflushcflush Member Posts: 24
    okay, got it to compile, I rebooted, followed the instructions and got:

    [email protected]:~/cpp-ethereum/ethminer# ./ethminer -U -F http://us1.ethpool.org/miner/0x7d1aac07c0b6be0dd879dd5db7328d5661db1b81.worker2/6 -cuda-devices 0 1
    bash: ./ethminer: No such file or directory
    [email protected]:~/cpp-ethereum/ethminer#


    What am I doing wrong?
  • taylor_luktaylor_luk Member Posts: 16
    @Phantom what is the Hash rate in MH for GTX960 individually?

    Thanks
  • PhantomPhantom Member Posts: 46
    @cflush: should be --cuda-devices, not -cuda-devices

    @taylor_luk: no more than 10 Mh/s in Windows 7, even overclock. In Ubuntu, about 10.6 Mh/s
    GTX960 is not good for Ethereum, just about the same with GTX750ti overclock.
  • cflushcflush Member Posts: 24
    @Phantom That did not work.

    Now to review: I was supposed to do all this (see below) first, right?, then follow Genoils instructions (on page 15)

    sudo -s

    wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
    add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main"
    add-apt-repository -y ppa:ethereum/ethereum-qt
    add-apt-repository -y ppa:ethereum/ethereum
    add-apt-repository -y ppa:ethereum/ethereum-dev
    wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb
    dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb
    apt-get -y update
    apt-get -y upgrade

    apt-get -y install cpp-ethereum screen cuda build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libargtable2-dev llvm-3.8-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev



    How do I delete cpp-ethereum and start all over again? (it wont let me delete it under files in ubuntu)

    Can you make me a more detailed guide including EVERY step? If I can get it running, I would be happy to mine for you for a day.

    Please assist. Thanks.
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    Note that package mentioned in above guide has only CUDA 7.0. No lop32 support... -5% rate on 750
  • PhantomPhantom Member Posts: 46
    edited September 2015
    @cflush : Here your guide man. Hope you can run with my guide. If it works, do not need to mine for me because I just collect the information around.
  • GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭
    I'll fork that doc into the repo's readme.md thanks @Phantom
  • TheFiendishOneTheFiendishOne Member Posts: 18
    edited September 2015
    plz ignore this post -- asking questions too early and then i solve the problem.
    Post edited by TheFiendishOne on
  • cflushcflush Member Posts: 24
    @Phantom Thank you so much for the guide. I will give it another try tonight. I spent about 5 hours on it last night, only to come up short! Linux has humbled me.

    Also, I had installed Ubuntu 15.04 because I read it behaved better with a UEFI installation along side UEFI Windows installation. I have noticed a few bugs with it and I think I will reinstall with 14.04 to follow your guide.

    I will post back with results / questions. Again thanks a lot.

    Cflush
  • TheFiendishOneTheFiendishOne Member Posts: 18
    edited September 2015
    Note: cudaminer-frontier requires 8Gb Ram to build ethminer.

    Does this mean that I will get errors if I don't? I am running 6 GB of ram. Am I simply unable to compile unless I go buy ram??

    I also get this error when i type make -j4:
    make -j4
    make: *** No targets specified and no makefile found. Stop.

    and i have no idea what it means
  • PhantomPhantom Member Posts: 46
    @TheFiendishOne: someone can do with only 4Gb Ram, but it takes very long. Check your System monitor, if you got Swap enable, you would be fine. Anyway, the best is 8Gb Ram, or you have to be patient.

    When you want to compile, you have to go into cpp-ethereum folder.

    cd cpp-ethereum
    cmake -DBUNDLE=cudaminer
    make

    (-jn is just optionally. n = how many thread in your processor, ex: 1 2 4 6 8)

    @cflush: if you want to remove cpp-ethereum folder to start over, type:

    sudo rm -rf cpp-ethereum

    In my experience, after fresh intall with all nvidia, cuda drivers and ethereum client, you should back-up your system. If anything's wrong when you compile, you could restore your system back. It saves a lot of time. I usually use Clonezilla boot in USB.
  • TheFiendishOneTheFiendishOne Member Posts: 18
    Thanks for clarifying the -jn function. -- under install cmake in the docx there's a typo (edition = edison). per a diff thread:

    sudo add-apt-repository ppa:george-edison55/cmake-3.x
    sudo apt-get update
    sudo apt-get install cmake

    From looking at the nvidia install steps, were these lines implied after the add-apt-repository command? I am assuming that's the case. Thanks for your patience.
  • TheFiendishOneTheFiendishOne Member Posts: 18
    edited September 2015
    @phantom can you tell me what you are using to back-up your system? or what you would recommend?

    I plan on a back-up every time I successfully finish a procedure so that I can just go back an hour every time i screw up instead of starting all over. So would incremental backup be my best bet?

    my first error comes during the last 3 steps of installing cuda.

    The following packages have unmet dependencies:
    unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
    Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    can anyone explain this? at this point I can't install cuda because libgbm1 wont upgrade.
    Post edited by TheFiendishOne on
  • PhantomPhantom Member Posts: 46
    @TheFiendishOne: my bad, sorry man. For backup, I use Clonezilla. You can use YUMI-2.0.1.8 to create Clonezilla USB boot. Google how to clone with Clonezilla , and you will see a thousand of instructions.

    Note: install Ubuntu on smaller HDD or SSD because a source disk must be smaller or equal with destination disk.

    This is my dropbox link: YUMI-2.0.1.8 & Clonezilla.iso
    https://www.dropbox.com/sh/3eqjfrfuil1kdw9/AABkTiMXW4JkKhw7Igo5E4_va?dl=0
Sign In or Register to comment.