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
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
3
Output Quality Monitoring
• Sampling over time
• Sampling over space
4
Partial Output Quality Monitoring
Accurate Version
ApproximateVersion
EvaluationMetric
Subset of Input Data
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
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
7
Conservative/ Aggressive
Quality
TOQTOQ + delta
TOQ - delta
Speedup
Conservative
Aggressive
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
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
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
11
Fixed/Adaptive• Fixed
• Adaptive: Reduce the overhead of checking.
Quality
TOQTOQ + delta
TOQ - delta
Quality
TOQTOQ + delta
TOQ - delta
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