What is Litecoin?
Litecoin is a cryptocurrency that uses an alternative, memory hard hashing algorithm called scrypt that was devised by mathematics' prodigy Colin Percival. The algorithm utilizes SHA256 and a stream function called salsa20 to force devices that mine it to either use a lot of memory or use dramatically more ALU cycles to perform a hash. With the parameters used in Litecoin's implementation of scrypt (N = 1024; p = 1; r = 1), each thread uses approximately 64-128 KB depending on the settings for lookup_gap and thread_concurrency in the mining program when mining with a GPU. Because GPUs have such fast memory (bandwidth in the hundreds of GB/s) and roughly 128-512 KB of RAM per stream processor, they are ideal for mining Litecoin. This requirement for fast memory in order to mine quickly results in Litecoin being FPGA and ASIC resistant; although ASICs may one day come out for Litecoin, they are not expected to garner the same performance increases as for Bitcoin (two orders of magnitude more efficient).
Mining Litecoin
The major factor which impacts hash rate/hardware errors is the thread_concurrency. The second most important factor for some cards is theratio of core speed to memory speed. Typically optimum values of thread_concurrency are a multiple of 64 and vary per card and per card family (see below). The (core speed/memory speed) quotient should be 0.8 or less for 5xxx/6xxx cards and 0.7 or less for most 7xxx cards. Some evidence suggests that different 7xxx cards may have different ideal core:memory clock ratios, too.
GUIMiner-scrypt is out! Comes with all settings in this thread and all miners. No more command line interfaces! Try it here.
For all series cards,
Install AMD APP SDK: http://developer.amd.com/tools/hc/AMDAPPSDK/downloads/Pages/default.aspx
Install latest AMD drivers: http://support.amd.com/us/gpudownload/Pages/index.aspx
or
Use current recommend AMD driver (12.8):
13.1 32-bit
13.1 64-bit
AVOID 12.10 DRIVERS, THEY SEEM TO BREAK LITECOIN PERFORMANCE. 13.X SEEM TO BE OKAY.
5xxx series cards
Use cgminer.
Command line to run:
Litecoin is a cryptocurrency that uses an alternative, memory hard hashing algorithm called scrypt that was devised by mathematics' prodigy Colin Percival. The algorithm utilizes SHA256 and a stream function called salsa20 to force devices that mine it to either use a lot of memory or use dramatically more ALU cycles to perform a hash. With the parameters used in Litecoin's implementation of scrypt (N = 1024; p = 1; r = 1), each thread uses approximately 64-128 KB depending on the settings for lookup_gap and thread_concurrency in the mining program when mining with a GPU. Because GPUs have such fast memory (bandwidth in the hundreds of GB/s) and roughly 128-512 KB of RAM per stream processor, they are ideal for mining Litecoin. This requirement for fast memory in order to mine quickly results in Litecoin being FPGA and ASIC resistant; although ASICs may one day come out for Litecoin, they are not expected to garner the same performance increases as for Bitcoin (two orders of magnitude more efficient).
Mining Litecoin
The major factor which impacts hash rate/hardware errors is the thread_concurrency. The second most important factor for some cards is theratio of core speed to memory speed. Typically optimum values of thread_concurrency are a multiple of 64 and vary per card and per card family (see below). The (core speed/memory speed) quotient should be 0.8 or less for 5xxx/6xxx cards and 0.7 or less for most 7xxx cards. Some evidence suggests that different 7xxx cards may have different ideal core:memory clock ratios, too.
GUIMiner-scrypt is out! Comes with all settings in this thread and all miners. No more command line interfaces! Try it here.
For all series cards,
Install AMD APP SDK: http://developer.amd.com/tools/hc/AMDAPPSDK/downloads/Pages/default.aspx
Install latest AMD drivers: http://support.amd.com/us/gpudownload/Pages/index.aspx
or
Use current recommend AMD driver (12.8):
13.1 32-bit
13.1 64-bit
AVOID 12.10 DRIVERS, THEY SEEM TO BREAK LITECOIN PERFORMANCE. 13.X SEEM TO BE OKAY.
5xxx series cards
Use cgminer.
Command line to run:
Code:
cgminer --scrypt -o http://yourpool.com:port -u
username -p password --thread-concurrency ???? -I 18 -g 1 -w 256
You can use pretty much any thread_concurrency
between 1536 and 8192 that is a multiple of 64. Some people recommend using 4
or 5 * the number of SPs. You can find those in the table here: http://en.wikipedia.org/wiki/Evergreen_(GPU_family) (1st number in core config)
Recommended thread concurrencies for
57xx cards: 2368-4096 (3200 is common)
58xx cards: 4096-8192 (5600, 7168, and 8000 are common)
5970 card: 4096-8192 (5632 or 8000 are common)
Typical 5xxx series performance: 0.255 kh/s/shader
6xxx series cards
Use cgminer.
Command line to run:
Recommended thread concurrencies for
57xx cards: 2368-4096 (3200 is common)
58xx cards: 4096-8192 (5600, 7168, and 8000 are common)
5970 card: 4096-8192 (5632 or 8000 are common)
Typical 5xxx series performance: 0.255 kh/s/shader
6xxx series cards
Use cgminer.
Command line to run:
Code:
cgminer --scrypt -o http://yourpool.com:port -u
username -p password --thread-concurrency ???? -I 18 -g 1 -w 256
You can use pretty much any thread_concurrency
between 1536 and 8192 that is a multiple of 64. Some people recommend
using 4 or 5 * the number of SPs. You can find those in the table here: http://en.wikipedia.org/wiki/Northern_Islands_(GPU_family) (1st number in core config)
Recommended thread concurrencies for
67xx cards: 2368-4096 (3200 is common)
68xx cards: 3008-6144 (4800 is common)
69xx cards: 4096-8192 (5600, 7168, and 8000 are common)
6990 card: 4096-8192 (5632 or 8000 are common)
Typical 6xxx series performance: 0.313 kh/s/shader
7xxx series cards
Use reaper or cgminer versions 2.11.3 and up (see update below). Set thread_concurrency to somewhere slightly below 64 * bus_width_of_card_in_bits. So, for a 7950, that would be 64 * 384 = 24576; ideal values are 21712 or 24000. Find your bus width here:http://en.wikipedia.org/wiki/Southern_Islands_(GPU_family)
To find the optimum thread_concurrency for your card, you will need to search above and below this estimate ideal value and see what is fastest.
If you'd like to use reaper, follow the steps below.
Make reaper.conf the following:
Recommended thread concurrencies for
67xx cards: 2368-4096 (3200 is common)
68xx cards: 3008-6144 (4800 is common)
69xx cards: 4096-8192 (5600, 7168, and 8000 are common)
6990 card: 4096-8192 (5632 or 8000 are common)
Typical 6xxx series performance: 0.313 kh/s/shader
7xxx series cards
Use reaper or cgminer versions 2.11.3 and up (see update below). Set thread_concurrency to somewhere slightly below 64 * bus_width_of_card_in_bits. So, for a 7950, that would be 64 * 384 = 24576; ideal values are 21712 or 24000. Find your bus width here:http://en.wikipedia.org/wiki/Southern_Islands_(GPU_family)
To find the optimum thread_concurrency for your card, you will need to search above and below this estimate ideal value and see what is fastest.
If you'd like to use reaper, follow the steps below.
Make reaper.conf the following:
Code:
kernel reaper.cl
save_binaries yes
enable_graceful_shutdown no
long_polling yes
platform 0
device 0
# device 1
# device 2
# device 3
mine litecoin
save_binaries yes
enable_graceful_shutdown no
long_polling yes
platform 0
device 0
# device 1
# device 2
# device 3
mine litecoin
device ? must be added for every card you have
to avoid using the CPU as well to mine. Make sure when reaper starts that
it states that the CPU platform is disabled. CPU mining does not work
correctly and may actually slow down GPU mining with reaper.
Example configuration (550kh/s, 7950) of litecoin.conf:
Example configuration (550kh/s, 7950) of litecoin.conf:
Code:
host yourpool.com ### Do not add http://!!
port 8344
user username
pass password
protocol litecoin
worksize 256
vectors 1
aggression 20
threads_per_gpu 1
sharethreads 32
lookup_gap 2
gpu_thread_concurrency 21712
port 8344
user username
pass password
protocol litecoin
worksize 256
vectors 1
aggression 20
threads_per_gpu 1
sharethreads 32
lookup_gap 2
gpu_thread_concurrency 21712
Save litecoin.conf and run reaper.exe.
The 7xxx series can be tricky, for instance the 7770 seems to have an optimum thread concurrency of 8000 and works fine with cgminer and an intensity of 16 (I get 191kh/s with those settings). The 79xx cards should be amenable to the configuration above and are the fastest possible cards you can mine with.
Optimal thread concurrencies for 7xxx family:
7770: 8000 (200 kh/s, aggression 19)
7850: ????
7870: 15360 (400 kh/s, aggression 19)
7950: 21712 or 24000 (~575 kh/s)
7970 (cgminer): 22392 (~700 kh/s can be obtained with a core/memory ratio of 0.57)
7970 (reaper): 20992, 21712, or 24000 (~
7750: ????
7770: 8000 (200 kh/s, aggression 19)
7850: ????
7870: 15360 (400 kh/s, aggression 19)
7950: 21712 or 24000 (~575 kh/s)
7970 (cgminer): 22392 (~700 kh/s can be obtained with a core/memory ratio of 0.57) or 8192 (-g 2 -w 256 -I 13)
7970 (reaper): 20992, 21712, or 24000 (~650 kh/s can be obtained with reaper and core/memory ratio of 0.57, e.g. 900 MHz core and 1580 MHz memory. Over 725 KH/s can be achieved with memory overvolting.)
Typical 7xxx series performance: 0.321 kh/s/shader
If reaper crashes periodically on a single card, use the following python script to keep it alive (starts reaper, runs for two hours, shuts it down, then restarts it):
The 7xxx series can be tricky, for instance the 7770 seems to have an optimum thread concurrency of 8000 and works fine with cgminer and an intensity of 16 (I get 191kh/s with those settings). The 79xx cards should be amenable to the configuration above and are the fastest possible cards you can mine with.
Optimal thread concurrencies for 7xxx family:
7770: 8000 (200 kh/s, aggression 19)
7850: ????
7870: 15360 (400 kh/s, aggression 19)
7950: 21712 or 24000 (~575 kh/s)
7970 (cgminer): 22392 (~700 kh/s can be obtained with a core/memory ratio of 0.57)
7970 (reaper): 20992, 21712, or 24000 (~
7750: ????
7770: 8000 (200 kh/s, aggression 19)
7850: ????
7870: 15360 (400 kh/s, aggression 19)
7950: 21712 or 24000 (~575 kh/s)
7970 (cgminer): 22392 (~700 kh/s can be obtained with a core/memory ratio of 0.57) or 8192 (-g 2 -w 256 -I 13)
7970 (reaper): 20992, 21712, or 24000 (~650 kh/s can be obtained with reaper and core/memory ratio of 0.57, e.g. 900 MHz core and 1580 MHz memory. Over 725 KH/s can be achieved with memory overvolting.)
Typical 7xxx series performance: 0.321 kh/s/shader
If reaper crashes periodically on a single card, use the following python script to keep it alive (starts reaper, runs for two hours, shuts it down, then restarts it):
Code:
import os, subprocess, time
while True:
print("Starting reaper...")
p = subprocess.Popen("C:\\Users\\my-pc\\Desktop\\reaper\\reaper.exe")
time.sleep(7200)
print("Terminating reaper...")
p.terminate()
time.sleep(10)
while True:
print("Starting reaper...")
p = subprocess.Popen("C:\\Users\\my-pc\\Desktop\\reaper\\reaper.exe")
time.sleep(7200)
print("Terminating reaper...")
p.terminate()
time.sleep(10)
This seems to fix the problem for my 3x 7950
rig.
Update: 3-20-13
cgminer versions 2.11.3 and up can be used to mine with high thread concurrencies now. Follow these instructions:
WINDOWS: Open console and type
Update: 3-20-13
cgminer versions 2.11.3 and up can be used to mine with high thread concurrencies now. Follow these instructions:
WINDOWS: Open console and type
Code:
setx GPU_MAX_ALLOC_PERCENT 100
Now, close the console (it will not work if you
open cgminer in the same window). Open cgminer using a .bat or a new
console, high thread concurrencies will now work.
LINUX: Open terminal and type
LINUX: Open terminal and type
Code:
export GPU_MAX_ALLOC_PERCENT=100
Now high thread concurrencies should work in
cgminer.
TABLE OF USER REPORTED HASH RATES AND SETTINGS
https://github.com/litecoin-project/litecoin/wiki/Mining-hardware-comparison
CARD MEMORY SPEED SETTINGS
Usually it is most effective to have the memory speed of the card equal to or greater than the core clock speed. For some cards this is more important than others, but this is generally true. From experimental data for a 7770, a (core speed)/(memory speed) ratio of 0.7 or less is recommended.
HETEROGENEOUS MIXTURES OF CARDS
CGMINER: Use a comma to separate thread-concurrency values, eg. --thread-concurrency 3200,8000. Values correspond to the card number in zeroeth order.
REAPER: Run multiple instances of reaper. To do this, clone the folder and then add "device x" to reaper.conf, where x is the number for the card in zeroeth order.
RAM REQUIREMENTS ON-MOTHERBOARD
The equivalent amount of system RAM as for the sum of all the vRAM used by the GPUs is required when mining with reaper. For instance, 3x 5970s mining with thread_concurrency values of 8000 each would require 3x 500MB = 1500MB system ram (plus additional RAM for the OS). The memory requirements for 7xxx cards are also higher because of larger thread_concurrency values, for instance a thread_concurrency of 24000 means 1.5GB system RAM per card is required.
THREADS PER GPU
Some people state that increased hash rates are experienced upon increasing the number of threads per GPU in 5xxx series cards (-g # in cgminer or threads_per_gpu # in reaper). That has not been my experience with 6xxx or 7xxx cards, but you can try it and see if it helps out your hash rate.
STRATUM LTC MINING
Supported by some pools (ltcmine.ru, notroll.in, coinotron.com) in order to reduce the number of stales. Typical results moving from JSON getwork to stratum is a reduction in stales from 1.5% to 0.5%. If you use reaper, you need to use a fork which is available here and a stratum proxy. Stratum mining works with cgminer for versions 2.10.3 and up using the "-o stratum+tcp://yourpool.com:port" command.
Run proxy program with this command for reaper:
TABLE OF USER REPORTED HASH RATES AND SETTINGS
https://github.com/litecoin-project/litecoin/wiki/Mining-hardware-comparison
CARD MEMORY SPEED SETTINGS
Usually it is most effective to have the memory speed of the card equal to or greater than the core clock speed. For some cards this is more important than others, but this is generally true. From experimental data for a 7770, a (core speed)/(memory speed) ratio of 0.7 or less is recommended.
HETEROGENEOUS MIXTURES OF CARDS
CGMINER: Use a comma to separate thread-concurrency values, eg. --thread-concurrency 3200,8000. Values correspond to the card number in zeroeth order.
REAPER: Run multiple instances of reaper. To do this, clone the folder and then add "device x" to reaper.conf, where x is the number for the card in zeroeth order.
RAM REQUIREMENTS ON-MOTHERBOARD
The equivalent amount of system RAM as for the sum of all the vRAM used by the GPUs is required when mining with reaper. For instance, 3x 5970s mining with thread_concurrency values of 8000 each would require 3x 500MB = 1500MB system ram (plus additional RAM for the OS). The memory requirements for 7xxx cards are also higher because of larger thread_concurrency values, for instance a thread_concurrency of 24000 means 1.5GB system RAM per card is required.
THREADS PER GPU
Some people state that increased hash rates are experienced upon increasing the number of threads per GPU in 5xxx series cards (-g # in cgminer or threads_per_gpu # in reaper). That has not been my experience with 6xxx or 7xxx cards, but you can try it and see if it helps out your hash rate.
STRATUM LTC MINING
Supported by some pools (ltcmine.ru, notroll.in, coinotron.com) in order to reduce the number of stales. Typical results moving from JSON getwork to stratum is a reduction in stales from 1.5% to 0.5%. If you use reaper, you need to use a fork which is available here and a stratum proxy. Stratum mining works with cgminer for versions 2.10.3 and up using the "-o stratum+tcp://yourpool.com:port" command.
Run proxy program with this command for reaper:
Code:
mining_proxy.exe -pa scrypt --host yourpool.com
--port ####
Then run reaper with the following host:
Code:
127.0.0.1:8332
and your normal user/password
for the pool.
SOLO MINING
For large hash rates. Go here: https://bitcointalk.org/index.php?topic=83371.0
The guide works the same for unix as well more or less.
POOL MINING
Go here and pick one: https://github.com/litecoin-project/litecoin/wiki/Comparison-of-mining-pools
SOLO MINING
For large hash rates. Go here: https://bitcointalk.org/index.php?topic=83371.0
The guide works the same for unix as well more or less.
POOL MINING
Go here and pick one: https://github.com/litecoin-project/litecoin/wiki/Comparison-of-mining-pools