1. Settings Menu
Each of the supported algorithms available based on your hardware will show here with details of the mining software displayed. From the below screenshot you can see that Ethash is using Ethminer as the underlying mining software. This is important as the underlying mining software will usually suggest the optimal settings on their websites, plus there are also plenty of online forums and reviews providing specifications other miners have trialed before, saving you time.
2. Universal Settings
The following settings are universal per each algorithm and can be tweaked independently. Please note that all settings described below will have an effect on all of your GPUs per machine or rig.
Benchmark Length and Timeout
The Benchmark Length and Benchmark Timeout fields will recommend a default time parameter as they are not linked to your hardwares performance. These settings allow you to set how long the algorithm benchmarking takes along with how long before you would like the Miner to timeout trying to benchmark should a hashrate value not be returned by that point.
Similar to the GPU throttle on the main Miner page, this feature allows you to scale the time between kernel executions. The higher the number, the lower the mining performance. Users with a single GPU that is also used for other tasks may want to add a value of 500+ to prevent computer performance issues.
CUDA Scheduling refers to the core architecture of NVIDIA GPUs and how they communicate with the CPU.
- cudaDeviceScheduleAuto: The default value if the flags parameter is zero, uses a heuristic based on the number of active CUDA contexts in the process C and the number of logical processors in the system P. If C > P, then CUDA will yield to other OS threads when waiting for the device, otherwise CUDA will not yield while waiting for results and actively spin on the processor.
- cudaDeviceScheduleSpin: Instruct CUDA to actively spin when waiting for results from the device. This can decrease latency when waiting for the device, but may lower the performance of CPU threads if they are performing work in parallel with the CUDA thread.
- cudaDeviceScheduleYield: Instruct CUDA to yield its thread when waiting for results from the device. This can increase latency when waiting for the device, but can increase the performance of CPU threads performing work in parallel with the device.
- cudaDeviceScheduleBlockingSync: Instruct CUDA to block the CPU thread on a synchronization primitive when waiting for the device to finish work.
Note: Either enter the recommended values that you have found online or trial and error for yourself. A historical log of each of your tested benchmarks will show in the table at the bottom of the algorithm settings page to make it simple to re-select a previous config. Spin, Yield and Sync will have the following values when displayed in the benchmark results: 1, 2, 3.
3. X16R Advanced Settings
GPU intensity refers to the size of work being submitted to the GPU at any one time. By increasing the number, you are also increasing the work being submitted to the GPU. Finding an optimal value, rather than setting to the maximum value is key here to prevent performance and error issues.
3.1 Ethash Advanced Settings
CUDA Grid and CUDA Block Size
For the execution of compute kernels, NVIDIA created a parallel computing platform and API called CUDA. Setting grid size and block size determines the total number of threads; where total threads = grid size x block size. Block size is generally limited to 1024. Grid size is not limited but very large sizes may cause your display to freeze if you have a monitor plugged in.
CUDA Hashes per Kernel
To increase the hashrate when mining Ethash based coins, set the number of hashes per kernel to the recommended optimal settings for your hardware. Optimisation can produce >5% hashrate increase.
Sequences of asynchronous commands are executed concurrently between all processors available including any CPU and GPU. Without specifying a stream, the Miner will run the NVIDIA default stream.
3.2 CryptoNight V2 & CryptoNight Lite Advanced Settings
A thread contains assigned execution resources which are organised into streaming multiprocessors. The number of threads that can run in parallel is equal to the number of streaming multiprocessors multiplied by the maximum number of threads each of these can support.
Whereas with the Ethash algo you are custom setting the block size, with CryptoNight V2 & CryptoNight Lite you are determining the number of blocks. Threads are organised into blocks and then executed by a multiprocessing unit.
The CUDA BFactor setting allows you to run the core kernel in smaller pieces for CryptoNight V2 & CryptoNight Lite. Whereas a 1080 Ti runs better with a BFactor setting of 6, each NVIDIA GPU model will have it’s own optimal setting which can be found on the underlying mining softwares website or on mining forums.
Slightly different to the GPU Sleep setting in other algo’s, the CUDA BSleep feature allows you to scale the time between kernel launches, rather than executions. The higher the number, the lower the mining performance. Users with a single GPU that is also used for other tasks may want to add a value of 500+ to prevent computer performance issues.
This is useful on windows to prevent instability. If windows displays a message saying ‘Application has been blocked from accessing graphics hardware’, ‘Display driver stopped responding’ or blue screens; this is because of and ‘Timeout Detection and Recovery’. Increasing this number will prevent problems.
4. Let’s Get Mining!
Once you have completed for each of the algorithms available based on your hardware, head back to the main Miner page and select the GPU coin you wish to mine. Now you have customised each of the algos, you can even run in Auto mode knowing that as our Miner switches coin due to profitability, your presets will already be installed to ensure you’re mining is fully optimised from the software side.
5. Hardware Optimisations
There are also a number of hardware optimisations you can do which every experienced rig miner will know well. These include memory, core and clock settings providing the opportunity to both increase the performance of your GPU’s, whilst also decreasing or maintaining the same electricity consumption. Like the software, these custom configurations will vary with each GPU model. Search online forums, watch YouTube reviews or head over to our Cudo Miner [BETA] Telegram channel to speak with one of our rig mining community. Here are my recommendations for Ethash (ETH and ETC) and X16R (RVN):
The above setting recommendations are based on MSI Afterburner overclocking. For users preferring Precision X, double the memory. For example, a +100 memory setting with MSI Afterburner is a +200 memory setting with Precision X (guide only).