Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Retire Fortran?: a debate rekindled
Communications of the ACM
Computer Vision and Image Processing: A Practical Approach Using Cviptools with Cdrom
Computer Vision and Image Processing: A Practical Approach Using Cviptools with Cdrom
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
FPGA and CPLD Architectures: A Tutorial
IEEE Design & Test
The Image Understanding Environment Program
IEEE Expert: Intelligent Systems and Their Applications
An Assessment of the Suitability of FPGA-Based Systems for Use in Digital Signal Processing
FPL '95 Proceedings of the 5th International Workshop on Field-Programmable Logic and Applications
The C// Data Parallel Language on a Shared Memory Multiprocessor
CAMP '97 Proceedings of the 1997 Computer Architectures for Machine Perception (CAMP '97)
A specific compilation scheme for image processing architecture
CAMP '97 Proceedings of the 1997 Computer Architectures for Machine Perception (CAMP '97)
A Compact Vision System for Road Vehicle Guidance
ICPR '96 Proceedings of the International Conference on Pattern Recognition (ICPR '96) Volume III-Volume 7276 - Volume 7276
On the effectiveness of functional language features: NAS benchmark FT
Journal of Functional Programming
LISP 1.5 Programmer's Manual
Compiling SA-C Programs to FPGAs: Performance Results
ICVS '01 Proceedings of the Second International Workshop on Computer Vision Systems
Implementing the NAS Benchmark MG in SAC
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Run time adaptation of video-surveillance systems: a software modeling approach
ICVS'11 Proceedings of the 8th international conference on Computer vision systems
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
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 re-configurable 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.