By mining with each GPU in its own process, Hash Auger can improve mining efficiency compared to other algorithm-switching software when mining with multiple GPUs. This is due to the fact that most mining programs validate results on the CPU before submitting them to the mining pool. Depending on system I/O and processing speed along with the algorithm being mined and the number of GPUs, delays can occur when the GPUs are generating results faster than the CPU can validate them. Even on systems where the CPU can keep up with the GPU results, the overhead associated with managing multiple GPUs usually affects hash rates. With Hash Auger, that inefficiency is eliminated because each mining process is only responsible for a single GPU. Mining each GPU in its own process also improves error handling and prevents a miner crash on one card from affecting any others. Hash Auger will simply restart mining on that GPU while all other GPUs continue to mine as though nothing happened - further improving mining efficiency.

Unlike other algorithm-switching programs, Hash Auger also allows users to optimize the mining of specific algorithms on each GPU. Users can define custom overclock and intensity profiles for individual GPUs to take full advantage of each device's unique capabilities. The software also allows users to enable more CPU-intensive mining settings to maximize mining throughput and decrease latency. Best of all, these configuration changes are all done in the UI instead of having to find, edit and troubleshoot config or batch files.

Creating Custom Overclock Profiles

Overclock profiles for each algorithm and GPU can be easily entered within Hash Auger; the software will automatically load the correct overclock settings every time that an algorithm is selected for mining. Overclock settings can be quickly copied from one GPU to another using the GPU Manager and/or the various copy commands available on the device config panels.

When defining overclock settings in Hash Auger, it is important to note that each GPU has default settings in addition to the custom settings that may be defined for each algorithm. The default overclock settings - entered on the device's Hardware tab - are used whenever custom settings are not defined or enabled for an algorithm. This prevents users from having to enter the same settings for multiple algorithms. Simply provide the settings that most algorithms should have as the GPU's default overclock profile and then enter custom settings for only those algorithms that should use different settings.

GPUHardware.png

Overclock settings are only used for a GPU if the Use OC Settings checkbox is checked. Users can set specific power limit, temperature target, fan speed, core clock and memory clock speeds on the Hardware tab. For the power limit, temperature target and fan speed, Hash Auger will not attempt to change those settings if their value is 0. This is useful when another utility such as AfterBurner is being used to set custom fan speed curves. Additional fan speeds can be set using the GPU's Temperature tab - those fan speeds will be used only if the GPU's current temperature exceeds a specific level.

Algorithm specific overclock settings are defined in the Benchmarks tab. Select the appropriate algorithm row and scroll to the right to see the various OC settings. With the exception of fan speed, users can define specific overclock settings for each algorithm that will override the default settings for that GPU. For troubleshooting purposes, custom overclock settings can be disabled for an algorithm by unchecking the OC? checkbox.

BenchmarkOC.png

In summary, before starting to mine with an algorithm, Hash Auger will check the algorithm settings for each GPU to see if the OC? box is enabled and overclock settings have been provided. If not, Hash Auger will use the GPU's default overclock settings if they have been defined and the Use OC Settings? box is checked. If that box is unchecked, Hash Auger will not attempt to change the GPU's operating parameters.

Miner Intensity

Most mining programs allow users to adjust the intensity or number of processing cores that will be used during mining. Increasing the intensity can increase hash rates for some algorithms, but may also affect system responsiveness and stability. As with overclock settings, users can define intensity settings for each GPU independently. For example, users may choose to use a slightly lower intensity for their primary graphics card than other GPUs.

Since intensity values are specific to each mining program, custom intensity values are saved for each mining program separately. The intensity value shown in the grid row will only be used for the currently selected preferred miner; changing the preferred miner will show the intensity value saved for that mining program instead. A value of 0 indicates that the mining program's default intensity for that algorithm should be used instead.

Considering that each mining program has its own default and maximum intensity value settings, users wanting to define custom intensity settings should first research recommendations for their preferred mining program. It is also recommended that the Lock column be used to prevent the software from changing an algorithm's preferred mining program after providing custom intensity and other settings.

Optimizing GPU Throughput

As previously mentioned, most GPU mining programs rely on the CPU to validate results before submitting work to the mining pool. This means that the CPU has to process each GPU's work as fast as the results are being found as well as the demands of the operating system and other background processes. In rigs that have more GPUs than CPU cores, this can cause a delay in the processing of mining output if work is being created faster than the CPU can process it. Hash Auger provides several features that can improve mining throughput by decreasing the amount of time that the GPU processes must wait for the CPU.

GPUHardware.png

The Use CPU Cuda Scheduler? setting provides a GPU's mining process with dedicated access to the CPU. While this significantly decreases latency, it reduces CPU availability for other processes - including other GPU mining threads. Therefore, this setting should be used sparingly on CPUs with limited cores and processing power. Also, the overall benefit depends on the speed at which the GPU is processing results - slower GPUs will benefit less from this setting. Finally, not every mining program supports this feature.

Elevate Process Priority also improves throughput by providing more CPU access to a GPU's miner process. Elevating a process's priority means that the operating system will provide the process with greater CPU time than processes with lower priority. Again, this can reduce system responsiveness if the mining processes are monopolizing the CPU time over OS and background processes. Therefore, this setting should be reserved for the fastest GPUs in a rig and it may not be advisable to enable it for more than a few GPUs when the CPU only has a small number of processing cores.

The Use CPU Cuda Scheduler and Elevate Process Priority can, but do not have to be, enabled for the same GPU. Depending on the system's hardware configuration, it may be beneficial to try using the CPU Cuda Scheduler for one or two of the fastest GPUs and the elevated process priority for some other GPUs. If there are many GPUs trying to access a CPU with only one or two cores, it is recommended that neither option be enabled so that all GPUs have equal processing time.

On mining rigs where the CPU has more physical cores than GPUs, users should verify that the Assign Processes to CPU Cores advanced config option is enabled. This option can improve mining throughput by reducing the number of processes that are accessing any one CPU core.

Enable P0 State

Nvidia GPUs have multiple performance states that balance energy consumption with overall processing power. The P0 State has the highest performance potential of all these states, but is disabled by default for most contemporary Nvidia graphics cards. Hash Auger provides a utility script to enable P0 state in the device driver. However, it should be noted that P0 state usually increases electricity consumption, so users should only enable it when energy costs are not their primary concern. To run this script, simply go to the Utilities tab within Hash Auger; the system may need to be restarted for this change to fully take effect. Use Nvidia Inspector to verify that your GPUs are using P0 instead of P2 state. P0 State will remain enabled after multiple system reboots, but may need to be re-enabled after video device driver updates.

EnablePZero.png