120 likes | 233 Views
CPU-GPU Collaboration for Output Quality Monitoring. Mehrzad Samadi and Scott Mahlke University of Michigan March 2014. University of Michigan Electrical Engineering and Computer Science. Compilers creating custom processors. Output Quality Monitoring. Sampling over time
E N D
CPU-GPU Collaboration for Output Quality Monitoring Mehrzad Samadi and Scott Mahlke University of Michigan March 2014 University of Michigan Electrical Engineering and Computer Science Compilers creating custom processors
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 TOQ + delta TOQ TOQ - delta Check the quality
Output Quality Monitoring • Sampling over time • Sampling over space
Partial Output Quality Monitoring Subset of Input Data Evaluation Metric Accurate Version Approximate Version
CCG • Collaborative CPU-GPU Output Quality Monitoring GPU Approximate Run 0 Approximate Run 1 Approximate Run 2 Approximate Run 3 Decision Decision Decision CPU Check 1 Check 2 Check 3 Check 4 • CPU performs the monitoring while GPU is executing the approximate code
Evaluation • Two Image processing applications: • Mosaic • Mean Filter • 1600 flower images • NVIDIA GTX 560 + Intel Core i7 • CCG: Collaborative CPU-GPU approach Adaptive Aggressive AAI Fixed AFI Time Sampling Adaptive Conservative CAI Fixed CFI
Conservative/ Aggressive Quality TOQ + delta TOQ TOQ - delta Aggressive Speedup Conservative
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 solution
CPU-GPU Collaboration for Output Quality Monitoring Mehrzad Samadi and Scott Mahlke University of Michigan March 2014 University of Michigan Electrical Engineering and Computer Science Compilers creating custom processors
Fixed/Adaptive • Fixed • Adaptive: Reduce the overhead of checking. Quality TOQ + delta TOQ TOQ - delta Quality TOQ + delta TOQ TOQ - delta