skip to main content
article
Public Access

Compiling a gesture recognition application for a low-power spatial architecture

Published:13 June 2016Publication History
Skip Abstract Section

Abstract

Energy efficiency is one of the main performance goals when designing processors for embedded systems. Typically, the simpler the processor, the less energy it consumes. Thus, an ultra-low power multicore processor will, likely have very small distributed memory with a simple interconnect. To compile for such an architecture, a partitioning strategy that can tune between space and communication minimization is crucial to fit a program in its limited resources and achieve good performance. A careful program layout design is also critical. Aside fulfilling the space constraint, a compiler needs to be able to optimize for program latency to satisfy a certain timing requirement as well. To satisfy all aforementioned constraints, we present a flexible code partitioning strategy and light-weight mechanisms to express parallelism and program layout. First, we compare two strategies for partitioning program structures and introduce a language construct to let programmers choose which strategies to use and when. The compiler then partitions program structures with a mix of both strategies. Second, we add supports for programmer-specified parallelism and program layout through imposing additional spatial constraints to the compiler. We evaluate our compiler by implementing an accelerometer-based gesture recognition application on GA144, a recent low-power minimalistic multicore architecture. When compared to MSP430, GA144 is overall 19x more energy-efficient and 23x faster when running this application. Without these inventions, this application would not be able to fit on GA144.

References

  1. R. Avizienis and P. Ljung. Comparing the Energy Efficiency and Performance of the Texas Instrument MSP430 and the GreenArrays GA144 processors. Technical report, 2012.Google ScholarGoogle Scholar
  2. M. Bauer, S. Treichler, E. Slaughter, and A. Aiken. Legion: Expressing locality and independence with logical regions. In SC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Z. Bozkus, A. Choudhary, T. Haupt, G. Fox, and S. Ranka. Compiling hpf for distributed memory mimd computers. In The Interaction of Compilation Technology and Computer Architecture. 1994.Google ScholarGoogle ScholarCross RefCross Ref
  4. D. Callahan and K. Kennedy. Compiling programs for distributedmemory multiprocessors. The Journal of Supercomputing.Google ScholarGoogle Scholar
  5. D. T. Connolly. An improved annealing scheme for the QAP. European Journal of Operational Research, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  6. G. Delaval, A. Girault, and M. Pouzet. A type system for the automatic distribution of higher-order synchronous dataflow programs. In LCTES, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. GreenArrays. Product Brief: GreenArrays Architecture, 2010. URL http://www.greenarraychips.com/home/documents/greg/ PB002-100822-GA-Arch.pdf.Google ScholarGoogle Scholar
  8. GreenArrays. Appplication Note AB012: Controlling the TI SensorTag with the GA144, 2013. URL http://www.greenarraychips.com/ home/documents/greg/AN012-130606-SENSORTAG.pdf.Google ScholarGoogle Scholar
  9. C. Hewitt, P. Bishop, and R. Steiger. A universal modular actor formalism for artificial intelligence. In IJCAI, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. H. Karp. Programming for parallelism. Computer, 20(5):43–57, May 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Ljung. Welcome to the dark side of computing, 2011. Presented at ParLab Summer Retreat, University of California, Berkeley.Google ScholarGoogle Scholar
  12. H. Massalin. Superoptimizer: a look at the smallest program. In ASPLOS, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Merlin. Techniques for the automatic parallelisation of ‘distributed fortran 90’. Technical Report SNARC 92-02, Southampton Novel Architecture Research Centre, 1992.Google ScholarGoogle Scholar
  14. T. Nowatzki, M. Sartin-Tarm, L. De Carli, K. Sankaralingam, C. Estan, and B. Robatmili. A general constraint-centric scheduling framework for spatial architectures. In PLDI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. M. Phothilimthana, T. Jelvis, R. Shah, N. Totla, S. Chasins, and R. Bodik. Chlorophyll: Synthesis-aided compiler for low-power spatial architectures. In PLDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. Schlömer, B. Poppinga, N. Henze, and S. Boll. Gesture recognition with a wii controller. In International Conference on Tangible and Embedded Interaction, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. Slaughter, W. Lee, S. Treichler, M. Bauer, and A. Aiken. Regent: A high-productivity programming language for hpc with logical regions. In SC, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Takeuchi, Y. Makino, K. Kawachiya, H. Horii, T. Suzumura, T. Suganuma, and T. Onodera. Compiling x10 to java. In ACM SIGPLAN X10 Workshop, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. F. Tip. A survey of program slicing techniques. Technical report, Amsterdam, The Netherlands, The Netherlands, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Xilinx. FPGA Design Flow Overview, 2008. URL http://www.xilinx.com/itp/xilinx10/isehelp/ise c fpga design flow overview.htm.Google ScholarGoogle Scholar

Index Terms

  1. Compiling a gesture recognition application for a low-power spatial architecture

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)50
        • Downloads (Last 6 weeks)7

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!