mirror of https://github.com/BOINC/boinc.git
client: add simd_instruction_width to the peak FLOPS calculation.
A small attempt at future proofing things. The value is 1 on my new GPU, but might not be on higher end cards. Docs implies it should be part of the calculation.
This commit is contained in:
parent
b9981d7a56
commit
d147f0aa35
|
@ -774,13 +774,20 @@ void COPROC_ATI::set_peak_flops() {
|
|||
x = attribs.numberOfSIMD * attribs.wavefrontSize * 5 * attribs.engineClock * 1.e6;
|
||||
// clock is in MHz
|
||||
} else if (opencl_prop.amd_simd_per_compute_unit) {
|
||||
|
||||
// OpenCL w/ cl_amd_device_attribute_query extension
|
||||
// Per: https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units
|
||||
//
|
||||
// Single precision performance is calculated as two times the number of shaders multiplied by the base core clock speed.
|
||||
//
|
||||
// clock is in MHz
|
||||
x = opencl_prop.max_compute_units * opencl_prop.amd_simd_per_compute_unit * opencl_prop.amd_simd_width * 2 * (opencl_prop.max_clock_frequency * 1.e6);
|
||||
x = opencl_prop.max_compute_units *
|
||||
opencl_prop.amd_simd_per_compute_unit *
|
||||
opencl_prop.amd_simd_width *
|
||||
opencl_prop.amd_simd_instruction_width *
|
||||
2 *
|
||||
(opencl_prop.max_clock_frequency * 1.e6);
|
||||
|
||||
} else if (opencl_prop.max_compute_units) {
|
||||
// OpenCL gives us only:
|
||||
// - max_compute_units
|
||||
|
|
Loading…
Reference in New Issue