This repository has been archived by the owner on Apr 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
stratix v ethash rate #2140
Open
backrobot
wants to merge
10,000
commits into
ethereum-mining:master
Choose a base branch
from
Maetti79:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
stratix v ethash rate #2140
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Former-commit-id: 31e80dca1e5a12e076e070aba82bfd65198ab331
Former-commit-id: c7731d9
Former-commit-id: 080558d0b966146bb7c007682b97ca39e2534057
Former-commit-id: 6c8427b
When it gets new work the farm calls setWork for each GPU’s miners. For an nvidia GPU miner, setWork: - Sets a flag for the miner to stop. The miner will not acknowledge this flag till it completes its current calculation pass, on average half of one hash calculation’s time. - Wait for the miner to stop (blocks). - Reset the miner with new work. This has performance and cost consequences. Since the farm calls setWork sequentially over all miners, a miner will not be stopped and informed of new work, till the previous has completed the reset. It also means that because of this, the laer a miner restarts the more likely to provide a stale share working on old work instead of getting started new work. To mittigate this we break up the setWork process in two parts: setWork and waitReady. setWork - Sets a flag for the miner to stop. waitReady - Wait for the miner to stop (blocks). - Reset the miner with new work. With this partitioning we can now restart the GPUs in parallel by first iterating over miners with setWork (which can’t block), then doing a second pass calling waitReady. Actual measuments - Ubuntu - 4X1060 - time from start of farm setWork to completion of last GPU reset): - Sequential GPU resets – avg. farm setWork time 180-200ms. (yes, it’s that slow!!!) - Parallel GPU resets – avg. farm setWork time 70-90ms. These are averages since, at least for nvidia, switch time is highly dependent on when new work arrives during a hash calculation, so it fluctuates a lot per job. Former-commit-id: 04aef40af3266833713742836d69bd258aa6ff8f
When it gets new work the farm calls setWork for each GPU’s miners. For an nvidia GPU miner, setWork: - Sets a flag for the miner to stop. The miner will not acknowledge this flag till it completes its current calculation pass, on average half of one hash calculation’s time. - Wait for the miner to stop (blocks). - Reset the miner with new work. This has performance and cost consequences. Since the farm calls setWork sequentially over all miners, a miner will not be stopped and informed of new work, till the previous has completed the reset. It also means that because of this, the laer a miner restarts the more likely to provide a stale share working on old work instead of getting started new work. To mittigate this we break up the setWork process in two parts: setWork and waitReady. setWork - Sets a flag for the miner to stop. waitReady - Wait for the miner to stop (blocks). - Reset the miner with new work. With this partitioning we can now restart the GPUs in parallel by first iterating over miners with setWork (which can’t block), then doing a second pass calling waitReady. Actual measuments - Ubuntu - 4X1060 - time from start of farm setWork to completion of last GPU reset): - Sequential GPU resets – avg. farm setWork time 180-200ms. (yes, it’s that slow!!!) - Parallel GPU resets – avg. farm setWork time 70-90ms. These are averages since, at least for nvidia, switch time is highly dependent on when new work arrives during a hash calculation, so it fluctuates a lot per job. Former-commit-id: abe5ab5
Halve the nvidia farm switch time. Former-commit-id: ee3e98aa53b346dee6be82006282ddac609b7805
Halve the nvidia farm switch time. Former-commit-id: 08a458b
Former-commit-id: fc0a5be1109ca512a32e224216dc1ab621ac2624
Former-commit-id: 017e8af
Former-commit-id: 5b79264b5e60f246c7344bd2881db24cb9a7cab1
Former-commit-id: f3c530b
Former-commit-id: aec183e1882b6b284df6b03a42e45b70e10538a5
Former-commit-id: 80c4681
…eptions Catch exceptions from execute() Former-commit-id: 8d95a2ad92ffa1e5dc5831e0949534b9ab51675a
…eptions Catch exceptions from execute() Former-commit-id: b3c18d0
Fix fixes the race condition when the pool thread has a new work package already. The work package is passed along with the nonce now to make sure that the solution reported is valid. Former-commit-id: a706e89bd0297d11d3d8f9b5100e614b4ca8bd02
Fix fixes the race condition when the pool thread has a new work package already. The work package is passed along with the nonce now to make sure that the solution reported is valid. Former-commit-id: 9d01627
…rting CUDAMiner: Pass work package to report() Former-commit-id: d782306250284a46cabf2a6a2bc8c5320a0ab232
…rting CUDAMiner: Pass work package to report() Former-commit-id: 822358d
Former-commit-id: 7cdd3271438f4b94df2ee08eeebbaabd92bc916e
Former-commit-id: 128a58d
Former-commit-id: b406dfda2118eac4291f93fad9b5ade2cfabd97a
Former-commit-id: b45e711
Former-commit-id: 1e0836c49d845996a84ac2f1e980487a9ae41ae5
Former-commit-id: b56427e
Former-commit-id: a62d97c00ed3a9e047c2a737ca4642b5167ada7b
Former-commit-id: b37357c
Former-commit-id: 1e65459fa6e9913fad830e22fc53bcecf235b47b
Clarify license Former-commit-id: 7d90ed4241b35e51da0c786eb562bbaeea7ecfc6
Clarify license Former-commit-id: d7d14d6
Former-commit-id: 15235dccc163754c22aceecd62601c3151d015cd
Former-commit-id: 6c0730d7fdef046b48566c1bcee9107857118638
Former-commit-id: f7d9d5d5a51acb36ad7d9311e876d03b9688f71f
Former-commit-id: a5dd0225d4fcb256f8ea9b7906fedba751a1eed4
Former-commit-id: 99f9463b836e6a74403cc14b232ee06259eeb4a8
Former-commit-id: 177f730e5e63ac4322df393ba66b0f4144fa7557
Former-commit-id: e32d36a6d948d82028d91b1d852c65d434372794
Former-commit-id: 80a29f9e142900f01d35a73357cd11fcb29cfa55
Former-commit-id: 5c2f83541dbeb5660057a702fa2eaa84a3131cda
Former-commit-id: adad9d0a07c83bea9fc886ec6e20dc8bf75ca8ec
# Conflicts: # CMakeLists.txt # ethminer/MinerAux.h # ethminer/main.cpp # libethash-cl/CLMiner.cpp # libethash-cl/CLMiner.h # libethcore/CMakeLists.txt # libethcore/Farm.h # libethcore/Miner.h # libstratum/EthStratumClient.cpp # libstratum/EthStratumClient.h # libstratum/EthStratumClientV2.cpp # libstratum/EthStratumClientV2.h # scripts/install-cuda-ubuntu1604.sh # scripts/install_cmake.sh
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix the stratix v ethash rate,the previous is unbelievable