CPUGPU Collaboration for Output Quality Monitoring Mehrzad Samadi

  • Slides: 12
Download presentation
CPU-GPU Collaboration for Output Quality Monitoring Mehrzad Samadi and Scott Mahlke University of Michigan

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[PLDI 2010], SAGE[MICRO 2013] Quality TOQ

Output Quality Monitoring • Sampling over time • Green[PLDI 2010], SAGE[MICRO 2013] Quality TOQ + delta TOQ - delta Check the quality • Works fine for applications with temporal similarity for example video processing • What about applications without temporal similarity? 2

Output Quality Monitoring • Sampling over time • Sampling over space 3

Output Quality Monitoring • Sampling over time • Sampling over space 3

Partial Output Quality Monitoring Subset of Input Data Approximate Accurate Evaluation Metric Version 4

Partial Output Quality Monitoring Subset of Input Data Approximate Accurate Evaluation Metric Version 4

CCG • Collaborative CPU-GPU Output Quality Monitoring GPU Approximate Run 0 Decision CPU Check

CCG • Collaborative CPU-GPU Output Quality Monitoring GPU Approximate Run 0 Decision CPU Check 1 Approximate Run 1 Decision Check 2 Approximate Run 3 Decision Check 3 Check 4 • CPU performs the monitoring while GPU is executing the approximate code 5

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

Evaluation • Two Image processing applications: • Mosaic • Mean Filter • 1600 flower images • NVIDIA GTX 560 + Intel Core i 7 • CCG: Collaborative CPU-GPU approach Time Sampling Aggressive Adaptive Fixed AAI AFI Conservative Adaptive Fixed CAI CFI 6

Conservative/ Aggressive Quality TOQ + delta TOQ - delta Aggressive Speedup Conservative 7

Conservative/ Aggressive Quality TOQ + delta TOQ - delta Aggressive Speedup Conservative 7

Results Mosaic CCG Mean AAI AFI CAI CFI 0 10 20 30 40 Percentage

Results Mosaic CCG Mean AAI AFI CAI CFI 0 10 20 30 40 Percentage of images with unacceptable quality 50 60 CCG AAI AFI CAI CFI 1 1. 2 1. 4 1. 6 1. 8 2 Speedup 2. 2 2. 4 2. 6 2. 8 8

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

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 9 9

CPU-GPU Collaboration for Output Quality Monitoring Mehrzad Samadi and Scott Mahlke University of Michigan

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 Quality TOQ + delta TOQ - delta • Adaptive: Reduce the

Fixed/Adaptive • Fixed Quality TOQ + delta TOQ - delta • Adaptive: Reduce the overhead of checking. Quality TOQ + delta TOQ - delta 11

Results Mosaic CCG Mean AAI AFI CAI CFI 0 10 20 30 40 Percentage

Results Mosaic CCG Mean AAI AFI CAI CFI 0 10 20 30 40 Percentage of images with unacceptable quality 50 60 CCG AAI AFI CAI CFI 1 1. 2 1. 4 1. 6 1. 8 2 2. 2 Speedup without checking overhead 2. 4 2. 6 2. 8 12