+ All Categories
Transcript
Page 1: CPU-GPU Collaboration for Output Quality Monitoring

CPU-GPU Collaboration for Output Quality Monitoring

Mehrzad Samadi and Scott Mahlke

University of MichiganMarch 2014

Compilers creating custom processorsUniversity of MichiganElectrical Engineering and Computer Science

Page 2: CPU-GPU Collaboration for Output Quality Monitoring

2

Output Quality Monitoring• Sampling over time•Green[PLDI2010], SAGE[MICRO2013]

• Works fine for applications with temporal similarity for example video processing• What about applications without temporal similarity?

Quality

TOQTOQ + delta

TOQ - delta

Check the quality

Page 3: CPU-GPU Collaboration for Output Quality Monitoring

3

Output Quality Monitoring

• Sampling over time

• Sampling over space

Page 4: CPU-GPU Collaboration for Output Quality Monitoring

4

Partial Output Quality Monitoring

Accurate Version

ApproximateVersion

EvaluationMetric

Subset of Input Data

Page 5: CPU-GPU Collaboration for Output Quality Monitoring

5

CCG• Collaborative CPU-GPU Output Quality Monitoring

Approximate Run 0GPU

CPU

Approximate Run 1

Approximate Run 2

Approximate Run 3

Check 1 Check 2 Check 3 Check 4

Decision Decision Decision

• CPU performs the monitoring while GPU is executing the approximate code

Page 6: CPU-GPU Collaboration for Output Quality Monitoring

6

Evaluation• Two Image processing applications:• Mosaic• Mean Filter

• 1600 flower images• NVIDIA GTX 560 + Intel Core i7• CCG: Collaborative CPU-GPU approach

Time Sampling Conservative

Aggressive AdaptiveFixed

AdaptiveFixed CFI

CAI

AFIAAI

Page 7: CPU-GPU Collaboration for Output Quality Monitoring

7

Conservative/ Aggressive

Quality

TOQTOQ + delta

TOQ - delta

Speedup

Conservative

Aggressive

Page 8: CPU-GPU Collaboration for Output Quality Monitoring

8

Results

CFI

CAI

AFI

AAI

CCG

0 10 20 30 40 50 60

Mosaic Mean

Percentage of images with unacceptable quality

CFI

CAI

AFI

AAI

CCG

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8

Speedup

Page 9: CPU-GPU Collaboration for Output Quality Monitoring

9

Conclusions• Sampling over time is not the answer for all applications

• We need to check all invocations for most of the applications

• Full quality monitoring has really high overhead

• Partial quality monitoring can be a solution9

Page 10: CPU-GPU Collaboration for Output Quality Monitoring

CPU-GPU Collaboration for Output Quality Monitoring

Mehrzad Samadi and Scott Mahlke

University of MichiganMarch 2014

Compilers creating custom processorsUniversity of MichiganElectrical Engineering and Computer Science

Page 11: CPU-GPU Collaboration for Output Quality Monitoring

11

Fixed/Adaptive• Fixed

• Adaptive: Reduce the overhead of checking.

Quality

TOQTOQ + delta

TOQ - delta

Quality

TOQTOQ + delta

TOQ - delta

Page 12: CPU-GPU Collaboration for Output Quality Monitoring

12

Results

CFI

CAI

AFI

AAI

CCG

0 10 20 30 40 50 60

Mosaic Mean

Percentage of images with unacceptable quality

CFI

CAI

AFI

AAI

CCG

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8

Speedup without checking overhead


Top Related