Skip to main content

Sassy: A Language and Optimizing Compiler for Image Processing on Reconfigurable Computing Systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1542))

Abstract

This paper presents Sassy, a single-assignment variant of the C programming language developed in concert with Khoral Inc. and designed to exploit both coarse-grain and fine-grain parallelism in image processing applications. Sassy programs are written in the Khoros software development environment, and can be manipulated inside Cantata (the Khoros GUI). The Sassy language supports image processing with true multidimensional arrays, sophisticated array access and windowing mechanisms, and built-in reduction operators (e.g. histogram). At the same time, Sassy restricts C so as to enable compiler optimizations for parallel execution environments, with the goal of reducing data traffic, code size and execution time.

In particular, the Sassy language and its optimizing compiler target reconfigurable systems, which are fine-grain parallel processors. Reconfigurable systems consist of field-programmable gate arrays (FPGAs), memories and interconnection hardware, and can be used as inexpensive co-processors with conventional workstations or PCs. The compiler optimizations needed to generate highly optimal host, FPGA, and communication code, are discussed. The massive parallelism and high throughput of reconfigurable systems makes them well-suited to image processing tasks, but they have not previously been used in this context because they are typically programmed in hardware description languages such as VHDL. Sassy was developed as part of the Cameron project, with the goal of elevating the programming level for reconfigurable systems from hardware circuits to programming language.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Bodin, H. Essafi and M. Pic. A Specific Compilation Scheme for Image Processing Architecture. Computer Architectures for Machine Perception, Cambridge, MA, 1997, pp. 56–60.

    Google Scholar 

  2. S. Brown and J. Rose. Architecture of FPGAs and CPLDs: A Tutorial. IEEE Design and Test of Computers, Vol 12, number 2, pages 42–57, Summer 1996.

    Google Scholar 

  3. D. C. Cann. Retire Fortran? A Debate Rekindled. Communications of the ACM, Vol 35(8), 1992.

    Google Scholar 

  4. DataCube: http://www.datacube/com (or http://robocop.anu.edu.au/docs/MaxVideo250)

  5. A. DeHon. Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density. Proc of Fourth Canadian Workshop of Field-Programmable Devices, Toronto, Canada, May 1996.

    Google Scholar 

  6. A. Fatni, D. Houzet and J. Basille. The C Data Parallel Language on a Shared Memory Multiprocessor. Computer Architectures for Machine Perception, Cambridge, MA, 1997, pp. 51–55.

    Google Scholar 

  7. A. J. Field and P. G. Harrison. Functional Programming. Addison-Wesley, 1988.

    Google Scholar 

  8. R. Hartenstein, J. Becker, R. Kress, H. Reinig and K. Schmidt. A Reconfigurable Machine for Applications in Image and Video Compression. Conf. on Compression Technologies and Standard for Image and Video Compression, Amsterdam, 1995.

    Google Scholar 

  9. D. Houzet and A. Fatni. A 1-D Linearly Expandable Interconnection Network Performance Analysis. IEEE Int. Conf. On Application Specific Array Processors, Venice, 1993, pp. 572–582.

    Google Scholar 

  10. J. Hammes, O. Lubeck, and A. P. W. Böhm. Comparing Id and Haskell in a Monte Carlo photon transport code. Journal of Functional Programming, Vol. 5, Part 3, pp 283–316, July 1995.

    Google Scholar 

  11. J. Hammes, S. Sur, and A. P. W. Böhm. On the effectiveness of functional language features: NAS benchmark FT. Journal of Functional Programming, Vol. 7, Part 1, pp 103–123, January 1997.

    Google Scholar 

  12. P. Hudak, S. Peyton Jones and P. Wadler eds. Report on the Programming Language Haskell, A Non-strict Purely Functional Language (Version 1.2). ACM SIG-PLAN Notices, vol 27, number 5, 1992.

    Google Scholar 

  13. M. Maurer, R. Behringer, S. Fürst, F. Thomanek, E.D. Dickmanns. A Compact Vision System for Road Vehicle Guidance, International Conference on Pattern Recognition, Vienna, 1996. Vol. C, pp. 313–317.

    Article  Google Scholar 

  14. D. MacQueen, R. Harper, R. Milner, et al. Functional Programming in ML. Lfcs education, University of Edinburgh, 1987.

    Google Scholar 

  15. J. McCarthy, et al. LISP 1.5 programmers manual. MIT Press, 1962.

    Google Scholar 

  16. J. McGrawet.al., SISAL: Streams and Iteration in a Single Assignment Language: Reference Manual Version 1.2, Lawrence Livermore National Laboratory, Memo M-146, Rev. 1, 1985.

    Google Scholar 

  17. J. Mundy. The Image Understanding Environment Progam. IEEE Expert, 10(6):64–73, 1995.

    Article  Google Scholar 

  18. R. S. Nikhil. Id Version 90.0 Reference Manual. Computational Structures Group Memo 284-1, Massachusetts Institute of Technology, 1990.

    Google Scholar 

  19. Oxford Hardware Compilation Group. The Handel Language. Technical report, Oxford University, 1997.

    Google Scholar 

  20. D. Perry. VHDL. McGraw-Hill, 1993.

    Google Scholar 

  21. R. Petersen and B. Hutchings. An Assessment of the Suitability of FPGA-Based Systems for use in Digital Signal Processing. 5th Int. Workshop on Field-Programmable Logic and Applications, Oxford, 1995.

    Google Scholar 

  22. J. Rasure and S. Kubica. The KHOROS Application Development Environment. In H. I. Christenses and J. L. Crowley, editors, Experimental Environments for Computer Vision and Image Processing. World Scientific, New Jersey, 1994.

    Google Scholar 

  23. S. Umbaugh. Computer Vision and Image Processing: A Practical Approach using CVIPtools. Prentice Hall, New Jersey, 1998.

    Google Scholar 

  24. S. B. Scholz. Single Assignment C-Functional Programming Using Imperative Style. In Proc. of the 6th International Workshop on th Implementation of Functional Languages. University of East Anglia, 1994.

    Google Scholar 

  25. S. K. Skedzielewski, J. R. W. Glauert. IF1, an Intermediate Form for Applicative Languages. Refernce Manual, M-170, Lawrence Livermore National Laboratory, July 1985.

    Google Scholar 

  26. http://www.vsip.org/

  27. C. Weems and J. Burrill. “The Image Understanding Architecture and its Software Development Tools,” Applied Imagery and Pattern Recognition Workshop, McLean, VA, 1991.

    Google Scholar 

  28. M. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Company, 1996.

    Google Scholar 

  29. Xilinx. The Programmable Logic Data Book. Xilinx, Inc., San Jose, California, 1998.

    Google Scholar 

  30. H. Zima. Supercompilers for Parallel and Vector Computers. Addison-Wesley Publishing Company, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hammes, J.P., Draper, B.A., Willem Böhm, A.P. (1999). Sassy: A Language and Optimizing Compiler for Image Processing on Reconfigurable Computing Systems. In: Computer Vision Systems. ICVS 1999. Lecture Notes in Computer Science, vol 1542. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49256-9_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-49256-9_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65459-9

  • Online ISBN: 978-3-540-49256-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics