Vocoder Benchmark Summary

This file details a summary of how the numbers were obtained for this benchmark.

Benchmark Description lines of code # of constructs in the program Number of filters in the expanded graph
filters pipelines splitjoins feedbackloops
Vocoder 28 channel Vocoder 1964 55 8 12 1 101
Benchmark 250 MHz RAW processor C on a 2.2 GHz Intel Pentium IV
StreamIt on 16 tiles C on a single tile
Utilization # of tiles used MFLOPS Throughput (per 105 cycles) Throughput (per 105 cycles) Throughput (per 105 cycles)
Vocoder 23% 15 118 8.74 app. too large 3.35

StreamIt Number Calculations

Each iteration of the steady state schedule for the StreamIt code produces 1 output. The Vocoder is performed on a set of 64 points producing 64 complex numbers, or 128 floating point numbers. Each steady state schedule performs 2 64-point Vocoders, thus producing 256 total floating point numbers.

Utilization numbers reported were 41596 useful cycles/ 183488 total cycles = 0.22669602.

flops reported by RAW's cycle-accurate simulator are 4867 first/4846 second (avg = 4856.5), which is (4856.5 flops/11441 cycles) * 250 million cycles/second = 106.12 MFLOPS.

The first iteration done at 0x34de8 (216552 cycles).
The second iteration done at 0x37ab4 (228020 cycles) (delta=11468)
The third iteration done at 0x3a74a (239434 cycles) (delta=11414)
Based on these cycle counts, each iteration takes 11468/11414 cycles (average = 11441).

1 output every 11441 cycles, normalized to 10^5 cycles results in a throughput of 1*(100000/11441) = 8.7405 outputs every 10^5 cycles.

C Code Single Tile Raw Number Calculations

The Vocoder Application was too large to fit on a single RAW tile.

C Code Number Calculations

Performing 10,000 iterations at 1200 outputs/iteration.
Runtime for 10^4 iterations is 163.010 seconds.

Number of cycles per iteration: 10^4 iterations/ 163.010 second * 1200 outputs / 1 iteration * 1 second / 2.2*10^9 cycles * 10^5 cycles = 3.34614 outputs / 10^5 cycles.