Skip to content

Latest commit

 

History

History
45 lines (20 loc) · 1.78 KB

02.Performance Evaluation and Metrics.md

File metadata and controls

45 lines (20 loc) · 1.78 KB

Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls Ideal pipeline CPI: measure of the maximum performance attainable by the implementation

Performance Evaluation and Metrics

$$IC= \text{# instructions}$$

$$CPI=\frac{\text{CC}}{\text{IC}}=\frac{\text{clock cycle}}{\text{# instructions}}$$

$$MIPS=\frac{\text{clock frequency}}{CPI^*10^6}$$

Ahmdal's law , this doesn't tell anything on the performance of the CPU still depends on its frequency.

$$\text{SPEED UP}=SU=\frac{1}{1 - \text{(fraction enhanced)} + ( \frac{\text{fraction enhanced} }{SU_{\text{fraction enhanced}}})}$$

To sum up, Amdahl's law states that, for a fixed problem, the upper limit of speedup is determined by the serial fraction of the code -> strong scaling

Gustafson law revises it:

$$SU_{GUS}=\frac{1}{\text{sequential} + \frac{\text{parallel}}{N}}$$

$X$ is $n$ times faster than $Y$ means:

$$\frac{\operatorname{Performance}(X)}{\operatorname{Performance}(Y)}=\frac{\operatorname{Exe}(Y)}{\operatorname{Exe}(X)}$$

The $\text{CPU time}$ can be computed like this:

$$\text { CPU time }=\left(\sum_{i=1}^n \mathrm{IC}_i \times \mathrm{CPI}_i\right) \times \text { Clock cycle time } $$

so, $X$ is $n$ times faster than $Y$ means:

$$\frac{E X E_{C P U_1}}{E X E_{C P U_2}}=\left(\frac{I C_1 * C P I_1}{F_1}\right) *\left(\frac{F_2}{I C_2 * C P I_2}\right)$$

Floating-point operations per second (FLOPS) is a measure of compute performance used to quantify the number of floating-point operations a core, machine, or system is capable of in a one second.

$$\text{Pipeline Speedup} = \frac{\text{Pipeline Depth}}{\text{1 + Pipe Stall Cycles per Instruction due to Branches}}$$

$$\text{Pipeline Speedup} = \frac{\text{Pipeline Depth}}{\text{1 + Branch Frequency * Branch Penalty}}$$