## SAGE

swMATH ID: | 29919 |

Software Authors: | Samadi, M.; Lee, J.; Jamshidi, D. A.; Hormati, A.; Mahlke, S. |

Description: | SAGE: Self-Tuning Approximation for Graphics Engines. Approximate computing, where computation accuracy is traded off for better performance or higher data throughput, is one solution that can help data processing keep pace with the current and growing overabundance of information. For particular domains such as multimedia and learning algorithms, approximation is commonly used today. We consider automation to be essential to provide transparent approximation and we show that larger benefits can be achieved by constructing the approximation techniques to fit the underlying hardware. Our target platform is the GPU because of its high performance capabilities and difficult programming challenges that can be alleviated with proper automation. Our approach, SAGE, combines a static compiler that automatically generates a set of CUDA kernels with varying levels of approximation with a run-time system that iteratively selects among the available kernels to achieve speedup while adhering to a target output quality set by the user. The SAGE compiler employs three optimization techniques to generate approximate kernels that exploit the GPU microarchitecture: selective discarding of atomic operations, data packing, and thread fusion. Across a set of machine learning and image processing kernels, SAGE’s approximation yields an average of 2.5x speedup with less than 10 |

Homepage: | https://www.eecs.umich.edu/cse/awards/pdfs/samadi-micro13.pdf |

Related Software: | PAPI; Multicube Explorer; SiblingRivalry; Green; ADAPT; Paraprox; ATF; OpenTuner; AutoTune; Atune-IL; Tessellation; SEEC; ABLE; mARGOt; Petabricks; CLTune; crs; PATUS; Nimrod/G; PARSEC |

Cited in: | 1 Document |

### Cited by 4 Authors

1 | Carbajal, Juan Pablo |

1 | Dambre, Joni |

1 | Hermans, Michiel |

1 | Schrauwen, Benjamin |

### Cited in 1 Serial

1 | Neural Computation |

### Cited in 2 Fields

1 | Computer science (68-XX) |

1 | Information and communication theory, circuits (94-XX) |