This User’s Guide gives an introduction to Stream programming and to the use of Stream tools. It describes how to install the Stream toolset. It presents an overview of SPI stream processors, the Stream programming model, and the software development tools used to compile, simulate, run, and debug Stream programs. It gives a detailed tutorial introduction to the design and implementation of an application program using a concrete programming example.
This document contains confidential and proprietary information of Stream Processors, Inc. Possession of this document or any part thereof in any form constitutes full acceptance of the terms and conditions of the mutual Non-Disclosure Agreement in effect between the recipient and Stream Processors, Inc. The contents of this document are preliminary and subject to change without notice. The stream processing technology and other technologies described in this document are subject to issued patents and pending patent applications in the United States and other countries. This document confers upon recipient no right or license to make, have made, use, sell, or practice any of the technology or inventions described herein.
Stream Processors, Inc.
A stream processor is a high performance programmable processor for digital image processing and digital signal processing (DSP) applications. The stream processors of Stream Processors, Inc. (SPI) are programmable in an extended version of the C programming language, using the Stream programming model (SPM). The Stream programming model exposes the parallelism and locality inherent in an application program, and the SPI processor design and software development tools exploit this parallelism and locality in hardware.
This document gives a tutorial introduction to Stream programming and to the use of SPI Stream tools. It describes how to install the SPI Stream tools. It presents the essential concepts of SPI stream processors that you must understand to write efficient Stream programs. It describes the Stream extensions to the C language and the application programming interface (API) to the Stream programming model. It uses a demo program as a detailed introductory Stream programming example. It describes stream program development flow under an integrated development environment (IDE).
A companion volume, Stream Reference Manual, contains detailed reference information on Stream programming and on the tools in the Stream toolset. Stream Release Notes gives specific information related to the current release of the Stream tools.
This manual indicates a definition by setting the defined word in italic type. Italic type also indicates a placeholder that may take on different values; for example, an n-bit object might contain 8, 16, or 32 bits. Bold type indicates filenames and programming language literals; for example, int is a C data type. Monospace typeface Courier is used for command line input text and for C and Stream program fragments.