embench / embench-iot

The main Embench repository
https://www.embench.org/
GNU General Public License v3.0
258 stars 104 forks source link

Update xgboost benchmark to use uint8-quantized weights #194

Closed ZSusskind closed 6 months ago

ZSusskind commented 6 months ago

This commit changes the datatype of leaf_values from float to uint8_t, and votes from float to uint16_t. This was accomplished by rescaling all weight values to fall between 0 and 255. This change remove all floating-point operations from the benchmark, and reduces the x86 executable size to 57k. It also uses slightly deeper trees (max_depth increased from 4 to 5), which somewhat increases the complexity of the benchmark.

This specific XGBoost model performs handwritten digit classification using a variant of the MNIST dataset which has been downscaled to 8x8 pixels. It achieves 95.82% accuracy on the full (10,000-sample) test set, the first 128 samples of which are included in the benchmark.