| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- If you wish to donate to the author of scrypt support, Con Kolivas, please send
- your donations to:
- Bitcoin : 15qSxP1SQcUX3o4nhkfdbgyoWEFMomJ4rZ (preferred)
- Litecoin: Lc8TWMiKM7gRUrG8VB8pPNP1Yvt1SGZnoH
- ---
- Scrypt mining for GPU is completely different to sha256 used for bitcoin
- mining. It has very different requirements to bitcoin mining and is a
- lot more complicated to get working well. Note that it is a ram dependent
- workload, and requires you to have enough system ram as well as fast enough
- GPU ram. If you have less system ram than your GPU has, it may not be possible
- to mine at any reasonable rate.
- There are 5 main parameters to tuning scrypt, all of which are optional for
- further fine tuning. When you start scrypt mining with the --scrypt option,
- BFGMiner will fail IN RANDOM WAYS. They are all due to parameters being outside
- what the GPU can cope with.
- NOTE that if it does not fail at startup, the presence of hardware errors (HW)
- are a sure sign that you have set the parameters too high.
- DRIVERS AND OPENCL SDK
- The choice of driver version for your GPU is critical, as some are known to
- break scrypt mining entirely while others give poor hashrates. As for the
- OpenCL SDK installed, for AMD it must be version 2.6 or later.
- Step 1 on Linux:
- export GPU_MAX_ALLOC_PERCENT=100
- If you do not do this, you may find it impossible to scrypt mine. You may find
- a value of 40 is enough and increasing this further has little effect.
- export GPU_USE_SYNC_OBJECTS=1
- may help CPU usage a little as well.
- On windows the same commands can be passed via a batch file if the following
- lines are in the .bat before starting cgminer:
- setx GPU_MAX_ALLOC_PERCENT 100
- setx GPU_USE_SYNC_OBJECTS 1
- --intensity XX (-I XX)
- Just like in Bitcoin mining, scrypt mining takes an intensity, however the
- scale goes from 0 to 20 to mimic the "Aggression" used in mtrlt's reaper. The
- reason this is crucial is that too high an intensity can actually be
- disastrous with scrypt because it CAN run out of ram. High intensities
- start writing over the same ram and it is highly dependent on the GPU, but they
- can start actually DECREASING your hashrate, or even worse, start producing
- garbage with HW errors skyrocketing. Note that if you do NOT specify an
- intensity, cgminer uses dynamic mode which is designed to minimise the harm
- to a running desktop and performance WILL be poor. The lower limit to intensity
- with scrypt is usually 8 and cgminer will prevent it going too low.
- SUMMARY: Setting this for reasonable hashrates is mandatory.
- --shaders XXX
- is a new option where you tell BFGMiner how many shaders your GPU has. This
- helps BFGMiner try to choose some meaningful baseline parameters. Use this table
- below to determine how many shaders your GPU has, and note that there are some
- variants of these cards, and Nvidia shaders are much much lower and virtually
- pointless trying to mine on. If this is not set, cgminer will query the
- device for how much memory it supports and will try to set a value based on
- that.
- SUMMARY: This will get you started but fine tuning for optimal performance is
- required.
- GPU Shaders
- 7750 512
- 7770 640
- 7850 1024
- 7870 1280
- 7950 1792
- 7970 2048
- 6850 960
- 6870 1120
- 6950 1408
- 6970 1536
- 6990 (6970x2)
- 6570 480
- 6670 480
- 6790 800
- 6450 160
- 5670 400
- 5750 720
- 5770 800
- 5830 1120
- 5850 1440
- 5870 1600
- 5970 (5870x2)
- These are only used as a rough guide for BFGMiner, and it is rare that this is
- all you will need to set.
- Optional parameters to tune:
- -g, --thread-concurrency, --lookup-gap
- --thread-concurrency:
- This tunes the optimal size of work that scrypt can do. It is internally tuned
- by BFGMiner to be the highest reasonable multiple of shaders that it can
- allocate on your GPU. Ideally it should be a multiple of your shader count.
- vliw5 architecture (R5XXX) would be best at 5x shaders, while VLIW4 (R6xxx and
- R7xxx) are best at 4x. Setting thread concurrency overrides anything you put
- into --shaders and is ultimately a BETTER way to tune performance.
- SUMMARY: Spend lots of time finding the highest value that your device likes
- and increases hashrate.
- -g:
- Once you have found the optimal shaders and intensity, you can start increasing
- the -g value till BFGMiner fails to start. This is really only of value if you
- want to run low intensities as you will be unable to run more than 1.
- SUMMARY: Don't touch this.
- --lookup-gap
- This tunes a compromise between ram usage and performance. Performance peaks
- at a gap of 2, but increasing the gap can save you some GPU ram, but almost
- always at the cost of significant loss of hashrate. Setting lookup gap
- overrides the default of 2, but BFGMiner will use the --shaders value to choose
- a thread-concurrency if you haven't chosen one.
- SUMMARY: Don't touch this.
- Related parameters:
- --worksize XX (-w XX)
- Has a minor effect, should be a multiple of 64 up to 256 maximum.
- SUMMARY: Worth playing with once everything else has been tried but will
- probably do nothing.
- --vectors XX (-v XX)
- Vectors are NOT used by the scrypt mining kernel.
- SUMMARY: Does nothing.
- Overclocking for scrypt mining:
- First of all, do not underclock your memory initially. Scrypt mining requires
- memory speed and on most, but not all, GPUs, lowering memory speed lowers
- mining performance.
- Second, absolute engine clock speeds do NOT correlate with hashrate. The ratio
- of engine clock speed to memory matters, so if you set your memory to the
- default value, and then start overclocking as you are running it, you should
- find a sweet spot where the hashrate peaks and then it might actually drop if
- you increase the engine clock speed further.
- Third, the combination of motherboard, CPU and system ram ALSO makes a
- difference, so values that work for a GPU on one system may not work for the
- same GPU on a different system. A decent amount of system ram is actually
- required for scrypt mining, and 4GB is suggested.
- Finally, the power consumption while mining at high engine clocks, very high
- memory clocks can be far in excess of what you might imagine.
- For example, a 7970 running with the following settings:
- --thread-concurrency 22392 --gpu-engine 1135 --gpu-memclock 1890
- was using 305W!
- ---
- If you wish to donate to the author of scrypt support, Con Kolivas, please send
- your donations to:
- Bitcoin : 15qSxP1SQcUX3o4nhkfdbgyoWEFMomJ4rZ (preferred)
- Litecoin: Lc8TWMiKM7gRUrG8VB8pPNP1Yvt1SGZnoH
|