The SetBenchmarks command can be used to update benchmark values or algorithm/miner settings for one or more records on one or more GPUs. Each benchmark record represents a particular algorithm that can be mined with a specific mining program. The settings found in these records are only used when that particular combination of algorithm/miner is being used by the software.

When benchmark records are updated in Hash Auger via the API, only those values that have been provided with the optional parameters will be updated. Any values represented by parameters that were not included in a benchmark object will not be changed. For example, if an API request only includes overclock settings, the software will not alter the hash rate or other settings of the corresponding benchmark data.

Parameters

ids required
the list of GPUs that be updated. Use either the GPU index number or UUID.
benchmarks: a list of one or more benchmark objects that use the following structure:: algorithm [string] required
the name of the algorithm used in the benchmark record. This must match the name used in the Hash Auger config files.
miner [string] required
the name of the mining program use in the . Must match the name of a mining program in the miner config files.
enabled[bool] optional
true if the algorithm/miner combination should be enabled.
coreoffset [int] optional
the core clock offset.
diffmultiplier[decimal] optional
In mining programs that support this parameter, this setting can be used to multiply the pool assigned difficulty by a static value to increase it (values greater than 100) or decrease it (values less than 100).
hashrate [decimal] optional
the benchmarked hash rate that the software will use to calculate earnings estimates for any work that would use this algorithm with this mining program. When setting the hash rate for a benchmark, the unit parameter must also be provided.
hashperwatt [decimal] optional
the number of hashes produced by each watt of power consumption while mining this algorithm using this miner with the specified GPU(s).
intensity [decimal] optional
the intensity level to set the mining program to when mining this algorithm.
manualdiff [decimal] optional
this parameter will be used to set a static starting difficulty on pools that support this feature.
memoffset [int] optional
the memory clock offset.
powerlimit [int] optional
the power limit %.
templimit [int] optional
the temperature limit (in C).
unit [string] optional
the unit that the hash rate is measured in. Including this is only necessary when a hash rate is being set for the same benchmark record. Must be one of the following: hs, khs, mhs, ghs, ths, phs, ehs.
useOC [bool] optional
indicates whether or not custom overclock settings should be used when mining this algorithm with this miner on the specified GPUs. Any overclock settings will be ignored if this value is false or a GPU has overclock settings disabled.

Examples

//setting the hashrate of a single benchmark on one GPU using the GPU index number
{
    "command": "SetBenchmarks",
    "key":"mykey",
    "parameters": {"ids": [0],
            benchmarks: 
        [ 
            {
                "algorithm": "x17",
                "miner": "z-enemy",
                "hashrate": 20,
                "unit": "mhs"
            }
        ]

    }
}

//Setting the hash rate of two benchmark records on one GPU using the UUID
{
    "command": "SetBenchmarks",
    "key":"mykey",
    "parameters": {"ids": ["GPU-4225e6d5-0932-2bfa-f082-3f8578015b02"],
            benchmarks: 
        [ 
            {
                "algorithm": "x16r",
                "miner": "t-rex",
                "hashrate": 19.5,
                "unit": "mhs"
            },
            {
                "algorithm": "x16s",
                "miner": "z-enemy",
                "hashrate": 19.75,
                "unit": "mhs"
            }        
        ]
    }

}

//Updating overclock settings for three benchmark records on a single GPU
{
    "command": "SetBenchmarks",
    "key":"mykey",
    "parameters": { "ids": [0],
            benchmarks: 
                [ 
                  {
                  "algorithm": "x16r",
                  "miner": "t-rex",
                  "coreoffset": 200,
                  "memoffset": -500,
                  "powerlimit": 75,
                  "useoc": true
                  },
                              {
                  "algorithm": "x16s",
                  "miner": "t-rex",
                  "coreoffset": 200,
                  "memoffset": -500,
                  "powerlimit": 75,
                  "useoc": true
                  },
                  {
                  "algorithm": "x17",
                  "miner": "z-enemy",
                  "coreoffset": 225,
                  "memoffset": -500,
                  "powerlimit": 80,
                  "useoc": true
                  }
                ]
                  }
}

Notes

This SetBenchmarks command is available in version 2.8.2 and later of Hash Auger.

When benchmark records are updated via the API, the software will automatically recalculate the preferred miner for each altered algorithm on each specified GPU if the hash rate is changed. Similarly, if the HashPerWatt is provided, the software will recalculate the corresponding energy cost.

As noted above, both a hash rate and a corresponding unit of measurement must be provided to change the benchmarked hash rate. Alternatively, the Benchmark API command may be used instead to have the software benchmark the appropriate algorithms and miners.

In order for the software to use any of the overclock settings defined on a benchmark record, the GPU record must also be configured with its own set of overclock settings and the Use OC setting must be enabled for both the GPU and the individual benchmark records.