0

After reading on another question on Stack, I understood that a DAG file stands for Directed Acyclic Graph.

However, I do not understand how it is used and when I typed ethminer -G, I started to see Creating DAG. XX% done DAG 16:37:39.331|ethminer Generating DAG file. Progress: XX %. It has already been the third time since it reached 100% and just keeps on restarting the same process after printing:

Creating DAG. 100% done...miner  16:22:32.015|ethminer  Got work package:
miner  16:22:32.015|ethminer    Header-hash: xxx
miner  16:22:32.015|ethminer    Seedhash: xxx
miner  16:22:32.015|ethminer    Target: xxx
  ℹ  16:22:32.041|gpuminer0  workLoop 1 #xxx… #xxx…    
  ℹ  16:22:32.041|gpuminer0  Initialising miner...
[OPENCL]:Using platform: NVIDIA CUDA
[OPENCL]:Using device: GeForce 840M(OpenCL 1.2 CUDA)
miner  16:22:32.542|ethminer  Mining on PoWhash #xxx… : 0 H/s = 0 hashes / 0.5 s
miner  16:22:32.542|ethminer  Grabbing DAG for #xxx…
[OPENCL]:Printing program log
[OPENCL]:

[OPENCL]:Creating one big buffer for the DAG
[OPENCL]:Loading single big chunk kernels
[OPENCL]:Mapping one big chunk.
[OPENCL]:Creating buffer for header.
[OPENCL]:Creating mining buffer 0
[OPENCL]:Creating mining buffer 1

I precise that I am using Ubuntu 16.04 and CUDA 8.0 with drivers 367 for my NVIDIA.

Yohan Obadia
  • 2,552
  • 2
  • 24
  • 31

1 Answers1

0

Ethhash, the proof-of-work algorithm used by ethereum was designed to be memory-hard. Part of this is the requirement of for the entire DAG file to be stored in a GPU's memory.

There is better explanation here: https://ethereum.stackexchange.com/questions/1993/what-actually-is-a-dag/1996

The reason why ethminer is restarting is because your NVIDIA GeForce 840M has only has 2 GB of memory whereas at the time when posted this question, the DAG size on the ethereum network was ~3 GB.

ruxi
  • 33
  • 2
  • 7