You are here

New SCAPP option enables high- end digitizers to do fast digital signal processing | Spectrum

Direct link between Digitizer and CUDA-based GPU
Currently digitizers have a bottleneck caused by having to use either the host PC’s central processor with 8 or 16 cores or a FPGA that is complex to program. Spectrum Instrumentation has solved this problem with its new SCAPP software option – the Spectrum CUDA Access for Parallel Processing – that opens an easy-to-use yet extremely powerful way to digitize, process and analyze electronic signals. 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.

Comparing the SCAPP approach to any FPGA-based solution the TCO is very low: a matching CUDA graphics card ranges from around 150€ to 3000€ and the necessary software development kits (SDKs) are free of charge.  However, the largest cost saver is the development time.  Instead of spending weeks to just understand the FDK, the structure of the FPGA firmware, the FPGA design suite and the Simulation tools, the user can start immediately with some easy-to-understand C-Code and common design tools.

The SCAPP driver package consists of the driver extension for Remote Direct Memory Access (RDMA) that allows the direct data transfer from Digitizer to GPU.  It includes a set of examples for interaction with the digitizer and the CUDA-card and another set of CUDA parallel processing examples with easy building blocks for basic functions like filtering, averaging, data de-multiplexing, data conversion or FFT.  All the software is based on C/C++ and can easily be implemented and improved with normal programming skills.  Starting with tested and optimized parallel processing examples gives first results within minutes.

Read the full press release