Skip to content

Releases: turboboost55/cpp-ethereum

DAG Issue - Genoil's Ethminer

14 Jan 22:09
Compare
Choose a tag to compare
Pre-release

By a bit of a coincidence I have discovered that on my machine at least, the last 2176 bytes of the DAG file are not being generated properly (they are zero). This corresponds to the last 34 dag entries. This is on Windows 10. The DAG entries are used to compute hashes, which is integral to the mining process. If the DAG entries are wrong, it will affect your mining results. To put it in perspective, though, the DAG currently contains about 33 million entries, so it will have a pretty small impact.

I don't think there is anything wrong with Genoil's code ... at least not that I can see. It's either a bug in OpenCL, or something specific to my machine / GPU, which is a Gigabyte R9 380X 4GB. I was unable to reproduce this issue running under Linux.

I thought it would be important to determine if this is a more widespread issue, so I added some code to Genoil's miner to export the DAG to a file, so it can be compared to the same DAG file created by the original EF Ethminer.

Steps to Reproduce:

  1. Run the original EF ethminer and wait for it to produce the DAG file. I've included a binary in the downloads section for your convenience, but you can also build it from source, or maybe download it from somewhere. The DAG file will be written to %LOCALAPPDATA%\Ethash on Windows, and ~/.ethash on Linux. If you're solo mining, just run it using the parameters you usually use. If you are pool mining, you'll have to use the -F parameter, since the original ethminer doesn't support stratum mode. See your mining pool for the proper value to use.
  2. Run the modified Genoil ethminer contained in this release. Again, there are links below for a binary and for source code.
    • Watch the terminal output, and look for the line Initialising miner for xxxx. That tells you which DAG file you will need to compare in the next step.
    • Wait until you see *** DAG EXPORT COMPLETE ***. Then you can shut down the miner.
    • You should see a file called dag_Genoil.dat in the current directory.
  3. Compare files. In Windows you can use fc /B dag_Genoil.dat %localappdata%\Ethash\full-R23-xxxxx.
  4. If you are affected by this issue, you can try a modification I made to the DAG generation code, which on my machine at least, fixes the problem. Simply run the same version of ethminer as in step Genoil#2, but with the extra argument --new-dag-algo. It will generate the DAG with the modified algorithm, export it, and you can then compare files as in the previous step.