Dhrystone Benchmark Report

Introduction

Dhrystone is a synthetic benchmark program designed to measure a processor's integer performance. It was developed by Reinhold P. Weicker in 1984 and is commonly used to evaluate CPU performance in terms of integer operations, logical operations, and system calls.

This test is executed on Huawei Ascend AI processors to assess their integer computation capabilities and overall performance.

Test Methodology

Test Environment

  • Configuration: Single-core test with kernel warmup

Implementation

This test is implemented using CCE programming language with the following features: - Functions marked with AICORE execute on AI Cores - Template parameters enable testing with different iteration counts - Precise timing measurement using get_sys_cnt() function

Test Commands

A2/A3 Platform:

python3 tests/script/run_st.py -r npu -v a3 -t t_dhrystone -g TDHRYSTONETest.case_1000i -d

A5 Platform:

python3 tests/script/run_st.py -r npu -v a5 -t t_dhrystone -g TDHRYSTONETest.case_1000i -d

A2 Platform Test Results (Ascend910B @ 1800MHz)

Test Environment

  • Processor: Ascend910B
  • Frequency: 1800 MHz

Test Data

Iterations Execution Time (μs) Dhrystones/sec DMIPS DMIPS/MHz
1000 330 3,030,303 1,724.31 0.958
2000 657 3,044,138 1,732.42 0.962
3000 989 3,033,367 1,726.22 0.959
4000 1316 3,039,514 1,729.72 0.961

Calculation Notes

  • Dhrystones/sec = Iterations / (Execution Time / 1,000,000)
  • DMIPS = Dhrystones/sec / 1757 (Baseline value)
  • DMIPS/MHz = DMIPS / 1800 (Processor frequency)

Performance Analysis

Average Performance: - Average Dhrystones/sec: 3,036,831 - Average DMIPS: 1,728.17 - Average DMIPS/MHz: 0.960


A5 Platform Test Results (Ascend910_9599 @ 1650MHz)

Test Environment

  • Processor: Ascend910_9599
  • Frequency: 1650 MHz

Test Data

Iterations Execution Time (μs) Dhrystones/sec DMIPS DMIPS/MHz
1000 375 2,666,667 1,517.25 0.920
2000 719 2,781,641 1,582.53 0.959
3000 1087 2,760,258 1,570.88 0.952
4000 1437 2,783,577 1,584.16 0.960

Calculation Notes

  • Dhrystones/sec = Iterations / (Execution Time / 1,000,000)
  • DMIPS = Dhrystones/sec / 1757 (Baseline value)
  • DMIPS/MHz = DMIPS / 1650 (Processor frequency)

Performance Analysis

Average Performance: - Average Dhrystones/sec: 2,748,036 - Average DMIPS: 1,563.71 - Average DMIPS/MHz: 0.948