Executing a Program on the MIT Tagged-Token Dataflow Architecture
IEEE Transactions on Computers
Understanding and Applying Machine Vision
Understanding and Applying Machine Vision
Scoped Referential Transparency in a Functional Database Language with Updates
BNCOD 16 Proceedings of the 16th British National Conferenc on Databases: Advances in Databases
Two Fundamental Limits on Dataflow Multiprocessing
PACT '93 Proceedings of the IFIP WG10.3. Working Conference on Architectures and Compilation Techniques for Fine and Medium Grain Parallelism
Hi-index | 0.00 |
GRAPE (Graph Processing Environment) is an industrial distributed computer vision system currently in use in Orbotech's Automated Optical Inspection (AOI) machines. These machines are designed for the automatic detection of defects in Flat Panel Displays (FPD), Printed Circuit Boards (PCB) and Ball Grid Arrays (BGA). The GRAPE system is designed to be easy to use for algorithm and systems engineers with little or no special training in parallel or distributed systems. Algorithms are written in standard C++ and joined together in a visual dataflow graph. The user then partitions the graph into "contexts" which are used by the system to automatically parallelize the computation. The underlying execution model of GRAPE is based on a large-grained dynamic data-flow paradigm. In contrast to traditional dataflow engines GRAPE algorithms can hold "state" over multiple executions while also making use of data parallelism. This is useful for computer vision applications, which typically need to assemble and process data collected over many execution cycles. In this paper we present an overview of the GRAPE system with its context oriented parallelism and synchronization.