accept
play

ACCEPT: We Built an Open-Source Approximation Compiler Framework - PowerPoint PPT Presentation

ACCEPT: We Built an Open-Source Approximation Compiler Framework So You Don't Have To Adrian Sampson Andr Baixo Benjamin Ransford Thierry Moreau Joshua Yip Luis Ceze Mark Oskin sa pa University of Washington http:// accept.rocks


  1. ACCEPT: We Built an Open-Source Approximation Compiler Framework So You Don't Have To Adrian Sampson André Baixo Benjamin Ransford Thierry Moreau Joshua Yip Luis Ceze Mark Oskin sa pa University of Washington

  2. http:// accept.rocks Adrian Sampson André Baixo Benjamin Ransford Thierry Moreau Joshua Yip Luis Ceze Mark Oskin sa pa University of Washington

  3. Great approximation idea Actual implementation Publish paper!

  4. The boring stuff.

  5. Annotation language Programmer feedback Coarse region inference Auto-tuning & Pareto frontier collection Benchmarks

  6. ACCEPT, an open-source framework for approximate computing

  7. ACCEPT: features & benefits! Undergrad approved! Based on LLVM! Includes benchmarks Permissive Actually & metrics! license! has docs!

  8. EnerJ type qualifiers for the Clang compiler for ( int k = k1; k < k2; k++) { APPROX float distance = dist(points->p[k], points->p[0]); ... }

  9. Optimization feedback loop analysis library finds coarse-grain, safe-to-approximate regions client optimizations use analysis to relax approximable code $ accept log for ( int k = k1; k < k2; k++) { loop at streamcluster.cpp:651 APPROX float distance = dist(points->p[k], points->p[0]); can offload to NPU ... } $ reports tell developers where annotations are preventing optimization

  10. Optimization feedback loop loop at streamcluster.cpp:651 blockers: 1 * streamcluster.cpp:652: store to myhiz APPROX float myhiz; loop at streamcluster.cpp:651 can perforate loop

  11. Region analysis fine, data-centric annotations coarse, code-centric annotations

  12. Neural acceleration on a commercial FPGA

  13. Finding coarse approximate regions dominator post-dominator

  14. Auto-tuning for optimal trade-o ff s Annotated Program Performance Candidate Candidate Candidate Candidate Candidate Candidate Output Quality

  15. Auto-tuning for optimal trade-o ff s Annotated Program Performance Candidate Candidate Candidate Candidate Candidate Candidate Output Quality

  16. Auto-tuning for optimal trade-o ff s General search heuristic based on a bin-packing approximation algorithm Automatically separate 
 training & testing inputs Collect Pareto-optimal configurations

  17. Use ACCEPT to avoid reinventing Program annotations Tools to help you annotate A benchmark suite Quality-aware auto-tuning Coarse-grained region identification

  18. Next steps Integration with system simulators Extensible auto-tuning strategy Online monitoring Profile-driven optimizations Your optimization here?

  19. http:// accept.rocks

Recommend


More recommend