Skip to content
This repository has been archived by the owner on Apr 24, 2022. It is now read-only.

Reduced hashrate over time on K80 #472

Closed
reguly opened this issue Dec 28, 2017 · 6 comments
Closed

Reduced hashrate over time on K80 #472

reguly opened this issue Dec 28, 2017 · 6 comments

Comments

@reguly
Copy link

reguly commented Dec 28, 2017

A few months ago, running on a half of a dual-GPU NVIDIA K80 card, I was seeing around ~13 MH/s. This has now decreased to ~8 MH/s. At the same time, running the exact same way on a NVIDIA P100, there was no decrease - 70 MH/s now and a few months ago as well. Tested this on a different box, also with K80s, and saw the same issue.
I tried playing around with CUDA thread blocksizes, streams, parallel-hash, but no significant change.
Any ideas why this might be happening?

@ddobreff
Copy link
Collaborator

Can you try on different DAG epoch, the easiest way is to mine on coin like MUSIC or UBIQ which have smaller DAG size.

@reguly
Copy link
Author

reguly commented Dec 28, 2017

That does seem to be the difference - thank you @ddobreff! The reason is not trivial to me - could you please point me to some literature?

@ddobreff
Copy link
Collaborator

Its in dagger-hashimoto specs, DAG increases after each EPOCH which forces GPU to struggle more and eventually drops hashrate.

@reguly reguly closed this as completed Dec 28, 2017
@thomasjungblut
Copy link

I know this is a very old thread - sorry!
I was just running a couple of benchmarks against different blocks with my K80:

./ethminer -M 100 => 28Mh/s (1GB DAG, epoch 0)
./ethminer -M 3000000 => 25Mh/s (1.8GB DAG, Epoch 100)
./ethminer -M 6000000 => 9Mh/s (2.6GB DAG, Epoch 200)
./ethminer -M 12382424 => 4Mh/s (4GB DAG, epoch 412)

Is there an explanation why the performance drops off so quickly? Is it just the DAG size? What's the bottleneck for this?

@axfwora
Copy link

axfwora commented May 22, 2021

I know this is a very old thread - sorry!
I was just running a couple of benchmarks against different blocks with my K80:

./ethminer -M 100 => 28Mh/s (1GB DAG, epoch 0)
./ethminer -M 3000000 => 25Mh/s (1.8GB DAG, Epoch 100)
./ethminer -M 6000000 => 9Mh/s (2.6GB DAG, Epoch 200)
./ethminer -M 12382424 => 4Mh/s (4GB DAG, epoch 412)

Is there an explanation why the performance drops off so quickly? Is it just the DAG size? What's the bottleneck for this?

Had Same issue on my K40 resolved issue by issuing "-M 100" . Tested on both linux manjaro 15.xx and and windows 10 with NVIDIA drivers 462.31, used ethminer-0.19.0-cuda10.0-windows-amd64 for windows, and used ethminer -0.19.0-cuda 9.00 for linux.

  • Linux start command used : "./ethminer -P stratum1+tcp://wallet@"eu1.ethermine.org:4444" -U -R -M 100"

  • windows 10 start command used : " ethminer.exe -P stratum1+tcp://wallet@eu1.ethermine.org:4444 -U -R -M 100"

  • original test without prefix command 1.66 mh

  • after prefix command -M 100 + stock clock 12.66 Mh

  • after prefix command -M 100 + over clock at mem 3535, clock 1150 17.22 Mh

start.bat fill created for windows ethminer

setx GPU_FORCE_64BIT_PTR 0

setx GPU_MAX_HEAP_SIZE 100

setx GPU_USE_SYNC_OBJECTS 1

setx GPU_MAX_ALLOC_PERCENT 100

setx GPU_SINGLE_ALLOC_PERCENT 100

setx CUDA_DEVICE_ORDER PCI_BUS_ID

ethminer.exe -P stratum1+tcp://wallet@@eu1.ethermine.org:4444 -U -R -M 100

start script used for linux ethminer

export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100

./ethminer -P stratum1+tcp://0x23E27A613570A4fDBB00286f1928be4d3B303899.Bolle@eu1.ethermine.org:4444 -U -R -M 100

No Idea why issue is present suspect a bug or issue with memory addressing with Kepler Tesla k series

-ecc memory enabled / disabled in nvidia panel makes little to no changes to hash rate

  • From my testing additional prefix such as GPU_FORCE_64BIT_PTR 0, GPU_MAX_HEAP_SIZE 100, setx GPU_USE_SYNC_OBJECTS 1, GPU_MAX_ALLOC_PERCENT 100, CUDA_DEVICE_ORDER PCI_BUS_ID make little to no difference to hash rate.

"I can confirm that Tesla k series GPU k40 Compute 3.5 and k80 Compute 3.7 can be used for ethminer on both linux and windows 10 with newest NVIDIA drivers . I'm sure k20 Compute 3.5 would also work but don't have one to test.

-Haven't tried any consumer Kepler yet but I have a GTX 770 2 GB I'll be testing next. I'm having a k10 shipped to me to test as well in a bit i should be able to at least compare results.

"Please if anyone is able to optimize K series gpus for ethminer please reach out!"

"also if Dev team wont's to at least say Hi were alive it would be much appreciated!"

Thank's thomasjungblut your the shit!

@thomasjungblut
Copy link

thomasjungblut commented May 23, 2021

Haven't put a profiler into the CUDA kernels yet, but after looking at the dagger hashimoto algorithm (and also the implementation in here) it's probably bottlenecking on the random access of the DAG:

mix[p] = fnv4(mix[p], d_dag[offset[p]].uint4s[thread_id]);

I was mostly contemplating about why the drop-off in performance was so high and non-linear given the DAG sizes.
It's a shame, since the k80 is actually quite powerful with enough VRAM to continue to be a viable mining card, yet not necessary profitable.

I have a GTX 770 2 GB I'll be testing next

save yourself the time, the DAG is bigger than 4GB now, so it won't fit. You won't be able to mine any ETH with it anymore.

BTW, I think this repo is pretty dead so I don't think anybody will come and fix anything :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants