The GAPP (Geometric Arithmetic Parallel Processor) was designed in 1981 at Martin Marietta, which later became Lockheed Martin Electronics & Missiles. It was funding in large part by the US Dept. of Defense as a way to develop technologies for ultra high-speed image processing. There was a strong need for image processing, in near real time for military applications, in particular pattern recognition. Being able to process a moving image and match its features to known patterns was very useful for targeting of many weapons system.
The GAPP processor was a massively parallel SIMD (Single Instruction Multiple Data) processor. SIMD works very well on large sets of data that are processed in the same way. In the design of GAPP, this data set was the 2D-array of an image, or frame, from a video. The GAPP is at its core a very large array of simple processors, called processor elements (PE). Each PE is relatively simple, containing a single bit ALU and registers/memory. Each PE handles a single pixel of the image/frame, and is connected in a 2-D mesh to its 4 nearest neighbors. This allows arrays of these PE’s to scale very well. By 1992 Lockheed had GAPP systems with 82,944 elements and by the 2000’s systems were available with nearly 300,000.
In 1998 TeraNex was formed to commercialize this technology, and in 1998 there was a looming problem in television, one that the GAPP, and newly formed TeraNex were well suited to solve.