What’s Stream Processing?

Print anything with Printful



Stream processing organizes data into streams that are manipulated by nodes or processors before continuing along a path. It is effective for digital signal processing, imaging and graphics, and high bandwidth network traffic. Stream processors are commonly used in computer graphics cards.

Stream processing is a computer engineering and programming concept that can be used to design hardware applications and systems. When stream processing is used, the data is organized into streams which are then sent to nodes or processors that manipulate the data in the stream, after which the data continues along its path for other nodes to manipulate. At the end of the flow, the data is either inserted into memory or passed to an end-user application for use. A system or application that uses stream processing works most effectively when stream information is consistently generated from one or more sources, making it effective for digital signal processing (DSP), imaging and graphics or high bandwidth network traffic. The most widespread practical application of stream processing is in the manufacture of computer graphics cards, where stream processors are integrated into graphics hardware to help perform multiple operations on input graphics data such as vertex arrays.

The basis for stream processing revolves around the concept of data as a stream. Instead of pulling information from disparate sources or intercepting messages from an interrupt mechanism, a stream of data is formed when information is gathered by a process into a single line called a stream. Data items may vary, but the stream is usually made up of chunks of the same item types that can be processed sequentially.

The processors or nodes used in stream processing accept a stream and perform a certain operation on the data, after which the data can be passed to another node for further processing. For maximum efficiency, nodes are understood as small functions that are loaded and executed directly on the central processing unit (CPU), using registers and direct memory access (DMA) for speed. If the information within the stream can stand alone and does not depend on the result of the operations of a single node, it is possible to perform multiple operations on the stream at the same time, also providing the program compiler with suggestions that can allow very effective optimizations.

Stream processing is generally a good solution for situations where data is constantly being generated and fed into the stream by an application or device, such as a camera, external sensor, or network connection. Many graphics cards use stream processors to rapidly transform data arriving through a graphics pipeline into a rendered and rasterized image. Some graphics cards have multiple processors or nodes integrated into the card’s hardware, so stream processing can occur rapidly and sometimes simultaneously, as is often desirable when shaders are used for three-dimensional (3D) graphics.




Protect your devices with Threat Protection by NordVPN


Skip to content