Updated to Cast XMR version 1.0.0 on April 24th, 2018

This guide describes how to mine CryptoNight/CryptoNote based crypto currencies like Monero (XMR), Bytecoin (BCN), DigitalNote (XDN) and Intense (ITNS) at highest mining rates with the AMD Radeon RX Vega 56/64 GPUs.

CryptoNight is the Proof-Of-Work (POW) hash algorithm used by many CryptoNote protocol based currencies to sign the blockchain transactions. The CryptoNight algorithm is designed to use a lot of memory and a lot of memory read/write operations. The idea is that it should have no big advantage to run the algorithm on number crunchers like GPUs or dedicated ASICs and perform equally well on general purpose CPUs.

Now the AMD Radeon RX Vega 56/64 GPUs has entered the field. Their new memory interface based on HBM2 memory delivers higher memory throughputs also in random access workloads which makes them the currently fastest and most efficient devices available to crunch CryptoNight hashes.

For comparison:

  • Intel Core i9-7900X (10 cores, 3.3 GHz): ~470 CryptoNight Hashes/s
  • AMD Ryzen Threadripper 1950X (16 cores, 3.4 GHz): ~1080 CryptoNight Hashes/s
  • Nividia Geforce GTX-1080TI: ~900 CryptoNight Hashes/s

The AMD Radeon RX Vega can crunch more than 1900 CryptoNight hashes per second with a power consumption of 150 watts.

With some more overclocking the RX Vega breaks the 2 KHash/s barrier with a power consumption of 250 watts.

Compare the price tags of the devices and it’s easy to calculate which gives the most bang for the buck.

How to setup a Radeon RX Vega 56/64 for optimal CryptoNight mining is described in the next steps.

The Miner Software: Cast XMR

We developed special CryptoNight mining software ‘Cast XMR’ for RX Vega GPUs. It utilizes OpenCL 2.0 and hand optimized low level code to take full advantage of the Vega architecture.

Read all about the latest version of Cast XMR here.

Cast XMR 1.0.0 for Windows (64 bit)

To run Cast XMR the typical miner command line has to be entered:

cast_xmr -S [pool server] -u [username or wallet address]

With the default Radeon Vega driver (at the time of writting driver version 17.9.2) and default ‘balance’ settings of AMD Global WattMan you will get about 1050 Hash/s. Which is already higher then with any other CryptoNight mining software.

cast xmr default driver

But to really get the Vega going some further steps can be done.

The AMD Blochchain Compute Driver

AMD released a special driver for Radeon GPUs which is called the ReLive Edition Beta for Blockchain Compute Driver Version the current version is 17.30.1029. It is called ‘beta’ but does the job for Vega 64 and Vega 56 GPUs.

The purpose of the driver is to optimize the card for compute workloads like machine learning and yes POW hashing for blockchains. What it exactly does is only know to the AMD engineers, a guess is that it dedicates more memory bandwith to the compute units and takes it away from the GPU rendering paths.

When installing do a ‘Clean Install’ and select to install the ‘Local Driver (17.30)’ otherwise you will probably end up with the wrong version of the driver.

Be aware for gaming the original driver has to be installed otherwise you will have really low framerates.

After installing the Blockhain Compute driver and firing up Cast XMR it will detect that the special driver is installed and use a further optimized kernel. Which will result in:

cast xmr blockchain driver default setting

or

cast xmr blockchain driver bug

If you get less then 1500 Hash/s you probably have to do following step:

Workaround: Toggle the HBCC Memory Segment

One anoying bug of the Blockchain driver seems to be that sometimes after a reboot it does not deliver full performance. A fix for it (if you know a better one, please let me know) is to toggle the “HBCC Memory Segment” option in the Radeon Settings from ‘disabled’ to any other setting or the other way around and press ‘Apply’. Close the mining app before doing so, otherwise you will get a furious crash!

cast xmr blockchain driver workaround

The settings will close and the driver seems to be reinitialized, after that in most cases it results in the correct hashrate. It also seems not to matter if HBCC Memory Segment is disabled or turned on. Though disabled would be the more logical state as for mining the HBCC feature is not needed.

GPU Core, Memory and Fan Settings

Now it is time to tweak the clocks to adjust the Vega GPU to the special mining workload. Go the Global WattMan section in the AMD Radeon Settings, flick the Performance Profile to “Custom” and adjust the values.

First make sure to adjust the fan for better cooling. Switch the “Temperature” switch to “Manual” and enter as target temperature 70. If the temperature goes above 70° the card starts throttling the clocks to protect from overheating and the hash rates will decrease dramatically. Cooler is always better as it reduce power consumption and protects the GPU.

The basic idea for overclocking is to increase the ‘Memory Clock’, reduce ‘GPU Clock’ as low as possible without throtteling the hash rate, reduce the ‘Power Limit’ as far as possible to prevent overheating and reduce power consumption but also not to stall the memory clock and thereby the hash rate.

We found following settings to be sweet spots, but try for yourself. The cooling conditions have probably a high influence on your optimal settings.

Vega 64 Hash Rates

1900 Hash/s with 200 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 1025 MHz
  • Power Limit: -23%

2000 Hash/s with 250 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 1095 MHz
  • Power Limit: 0

2050 Hash/s with 280 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 1105 MHz
  • Power Limit: +20%

Vega 56 Hash Rates

1900 Hash/s with 150 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 945 MHz
  • Power Limit: -22%

2000 Hash/s with 200 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 965 MHz
  • Power Limit: 0

2050 Hash/s with 225 watts power consumption

  • Core Frequency: -10%
  • Memory Clock: 990 MHz
  • Power Limit: +12%
cast xmr vega at 200 watts power consumption

For CryptoNight Mining Vega 56 or Vega 64?

After some testing it seems that the Vega 56 and Vega 64 are at least equal fast at CryptoNight hashing. Maybe because the memory part is nearly the same and that much compute is not really needed.

Both can peak perform more then 2050 Hashes/s.

But the Vega 56 achieves the same hash rate with about 50 watt less power consumption although or because the memory clock is 100 Mhz lower then on a Vega 64.

The Vega 64 is by far the more fiery card which means it gets hot really fast. With better cooling (like with the liquid cooled model) the Vega 64 maybe could run at higher memory rates and perform even better. But for now it always seems to throttle down itself after a few seconds to protect from overheating and gets very unstable at memory clocks above 1100 MHz.

With the current price difference and lower power consumption the RX Vega 56 is definitly the efficiency king at CryptoNight hashing.

Hash faster with Grandmaster.

Updated on March 29th, 2017 to version 0.9.2

This version is outdated, please check the latest version here

Here is ‘Cast XMR’ the high performance CryptoNight miner for CryptoNote based crypto currencies like Monero (XMR), Bytecoin (BCN), DigitalNote (XDN) and many more.

Cast XMR is specially optimized for the Radeon RX Vega series of GPUs, reaching hash rates of more then 2000 CryptoNight Hashes/s on an single RX Vega 56 or Vega 64.

cast xmr

Hash faster and try it for yourself:

Cast XMR 0.9.2 for Windows (64 bit)

Features

  • Full support for CryptoNight/CryptoNote based currencies:
  • Fastest miner for AMD Radeon RX Vega GPU series
  • Radeon RX Vega 64
    • Crimson 17.10.2 driver and stock settings: 1180 Hash/s
    • Blockchain driver and 1025 MHz mem clock: 1990 Hash/s
    • Adrenalin driver 18.4.3 and 1025 MHz mem clock: 1980 Hash/s
  • Radeon RX Vega 56
    • Crimson driver 17.10.2 and stock setting: 1150 Hash/s
    • Blockchain driver and 945 MHz mem clock: 1970! Hash/s
    • Adrenalin 18.4.3 driver and 945 MHz mem clock: 1950 Hash/s
  • Radeon RX 480/RX 580
    • Crimson 17.10.2 driver and stock settings: 640 Hash/s
    • Blockchain driver and 2315 MHz mem clock: 810 Hash/s
  • Radeon RX 470/RX 570
    • Crimson 17.11.4 and stock settings: 640 Hash/s
    • Blockchain driver and 2250 MHz mem clock: 830 Hash/s
    • Adrenalin 18.4.3 driver in compute mode and 2250 MHz mem clock: 820 Hash/s
  • Multiple GPU support
  • Monitor temperature and fan speed of each GPU
  • Full pool support
  • Nicehasher support
  • Remote http access for statistics in JSON format
  • only 1.5% dev fee

Requirements

How To

cast_xmr has a command line interface. For a minimal configuration run:

cast_xmr -S [pool server] -u [username or wallet address]

To select which GPU to use the -G switch, e.g. for using the 2nd card use:

cast_xmr -S [pool server] -u [username or wallet address] -G 1

To select multiple GPU to use the -G switch and list comma separated the GPUs which should be used, e.g. for using the 1st and 3rd card use:

cast_xmr -S [pool server] -u [username or wallet address] -G 0,2

In case you have multiple OpenCL implementation installed or mixed GPUs (Nvidia, Intel, AMD), the correct OpenCL implemenation can be selected with the “–opencl” switch:

cast_xmr -S [pool server] -u [username or wallet address] --opencl 1 -G 0

For a complete list of configuration options run:

cast_xmr --help

Read here how to get the best mining performance with a Radeon RX Vega 56/64 GPU

Change History

Cast XMR Version 0.9.2 (2018/3/29)

  • Improvements for RX Vegas that achieve 99% the performance of the Blockchain Compute Beta driver with the latest standard Radeon Driver 18.3.4

Cast XMR Version 0.9.1 (2018/3/22)

  • 0.5% overall performance improvement for Vega based GPUs
  • --ratewatchdog experimental option to monitor the hash rate, in case an occasional happening drop of the hash rate is detected the kernel will be resetted to restore the optimal hash rate
  • fully tested CryptoNight variant (CryptoNightV7) for the Monero V7 Network Upgrade PoW Change which is now scheduled for the 6th April.
  • In case you want to mine the Graft coin use the --algo=0 option, an automatic detection of the used CryptoNight variant is not possible for this coin. For all other known CryptoNight coins the hash variant seems to be detected correct
  • In case you are mining with nicehash.com or any other automatic coin switching pool that has the Graft coin in the mix the --algo=0 option is advised to prevent invalid shares on the Graft coin. Be aware to remove the option when the Monero V7 network upgrade is happpening otherwise it then will clash with mining Monero!

Cast XMR Version 0.9.0 (2018/3/8)

  • support for the Monero V7 network upgrade. Read more about it here
  • the Monero PoW switch will be automatically detected, no restart of cast XMR is required. Only make sure to update cast XMR before the network upgrade is happening and that the used Monero pool supports the network upgrade
  • no decrase in hash rate for other currencies was introduced by the change
  • CryptoNightV7 will run at the same hash rate as CryptoNight
  • for any case there is the new --algo option to force which CryptoNight variant to use:
    • -1 = autodetect (default)
    • 0 = CryptoNight
    • 1 = CryptoNightV7 (Monero V7 network upgrade)

Cast XMR Version 0.8.5 (2018/2/1)

  • 1% performance gain for Vega Frontier Edition with Blockchain driver (fastest GPU around)
  • 1% performance improvement with current stock driver (18.1.1) for RX Vega 56/64 (40% to go to reach Blockchain driver)
  • fix for random blocking console output
  • GPU now always logs with its device id not the order they are listed in the -G argument
  • --log option to log output to a file
  • remote access includes CORS support in HTTP header

Cast XMR Version 0.8.1 (2017/12/15)

  • Fix for OpenCL automatic platform detection for Crimson driver 17.12.1 (Adrenalin). Blockchain driver is still way more performant on Vegas though

Cast XMR Version 0.8 (2017/12/14)

  • kernel optimizations result in subtle performance improvements
  • --fastjobswitch option (experimental) to force fast switching to new jobs. When enabled the GPUs will switch to the new job within less then 100ms. This improves the effective hash rate by 1 to 5% as nearly no GPU performance will be wasted on calculating outdated shares anymore. The drawback is a slightly lower displayed hashrate as while switching no hashes are calculated.
  • improved support for more then 8 GPUs
  • support for Radeon RX 470/RX 570 (Polaris) added
  • --forcecompute option to force kernel for compute mode on Polaris (RX470/570/480/580) GPUs. In the Radeon Settings GPU Workload has to be switched to ‘Compute’. This option is available in Crimson 17.10.2 (or later) driver and reaches nearly the same performance on Polaris based GPUs as with the Blockchain driver.
  • openCL platform is auto detected if --opencl is not specified
  • --nonicehash option to disable nicehash support
  • nicehash support will automatically disabled if more then 8 GPUs are used. Otherwise search space could be exhausted to early and the GPUs search in overlapping nonce ranges.

Cast XMR Version 0.7 (2017/11/29)

  • network and job status added to current statistics
  • remote access to get current status at http://127.0.0.1:7777 in JSON format (enable with --remoteaccess)
  • command line option to specify number of reconnects to pool (default 100) before giving up (set with --reconnects n). To realise a simple failover to another pool set it to a lower value and add a second configuration to batch file
  • fix for nicehash to support upto 8 GPUs (before only 4 were possible)

Cast XMR Version 0.6 (2017/10/27)

  • improved queue sync which results in an 0.1% higher average hash rate
  • experimental support for Radeon RX 480/580 GPUs added
  • pressing ‘s’ key prints the current statistics
  • count outdated and invalid shares separate
  • fixed random crash when quitting app
  • bugfix: invalid command line arguments did hang app

Cast XMR Version 0.5 (2017/10/19)

  • support for multiple Vega GPUs. Specify multiple GPUs comma separated with the -G switch like “-G 0,1,2,3”
  • monitor temperature and fan speed for each GPU
  • subtle performance improvements in core

Cast XMR Version 0.4 (2017/10/13)

  • performance optimzations result in 1 - 2% higher hash rates
  • reduced dev fee to 1.5%

Cast XMR Version 0.3 (2017/10/10)

  • performance optimzations result in 5 - 10% higher hash rates
  • breaking the 2 KHashes/s barrier with working overclocking settings for RX Vega 64 and RX Vega 56

Cast XMR Version 0.2 (2017/09/27)

  • performance improvement result in 1% higher hashrates
  • Improved support for RX Vega 56 (now goes faster then a Vega 64 !?)
  • Detection if Blockchain driver is installed
  • Fix for Sikka and Intense pools

Cast XMR Version 0.1 (2017/09/22)

  • Initial Release

A Linux version is nearly finished, but does not reach the same performance as the Windows version, still investigating.

This blog will be about high performance massive parallel GPU computing.

The fastest Monero and Ethereum mining software on middle earth and beyond.

High end graphic cards, OpenCL/CUDA development, machine learning and alike.

… more at the turn of the tide.