SCAPP allows a CUDA-based Graphical Processing Unit (GPU) to be used directly between any Spectrum digitizer and the PC. The big advantage is that data is passed directly from the digitizer to the GPU where high-speed parallel processing is possible using the GPU board's multiple (up to 5000) processing cores. That provides a significant performance enhancement when compared to sending data directly to a PC that may have only 8 or 16 cores. It becomes even more important when signals are being digitized at high-speeds such as 50 MS/s, 500 MS/s or even 5 GS/s.
The Spectrum approach uses a standard off-the-shelf GPU, based on Nvidia's CUDA Standard. The GPU connects directly with the Spectrum digitizer card, with no more CPU interaction, opening the huge parallel core architecture of the CUDA card for signal processing. The structure of a CUDA graphics card fits very well as it is designed for parallel data processing, which is exactly the same as most signal processing jobs. For example, the processing tasks of data conversion, filtering, averaging, baseline suppression, FFT window functions or even FFTs themselves can all be easily parallelized.
Signal processing approaches
Until today, there have basically been two different approaches for processing data for high speed digitizers. The first and most common method simply uses the CPU for calculations. This approach offers a straightforward way to create processing programs using a variety of different programming languages and nearly no extra cost. However, the performance is often limited by the CPU's resources as it must share its processing power with the rest of the PC system, the operating system and the GUI components.