Search

You are here

SCAPP - CUDA interface | Spectrum

SCAPP LogoFor applications requiring high powered signal and data processing Spectrum offers SCAPP (Spectrum CUDA Access for Parallel Processing). The SCAPP SDK allows a direct link between Spectrum digitizers and CUDA based GPU cards. Once in the GPU users can harness the processing power of the GPU’s multiple (up to 5000) processing cores  and large (up to 24 GB) memory. SCAPP uses an RDMA process to send data at the digitizer's full PCIe transfer speed to the GPU card. The SDK includes a set of examples for interaction between the digitizer and the GPU 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, expanded and modified with normal programming skills.

Spectrum’s SCAPP

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.

Details

SCAPP Blcok DiagramThe 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.

SCAPP supporting products

The SCAPP SDK option is a feature of the SPCM driver and is available for all cards based on M4i, M4x and M2p platform. Older cards based on M2i or M3i platform are not supported.

All M4i series based cards

  • M4i.44xxx-8: 14/16 bit digitizer up to 500 MS/s and up to 4 channels
  • M4i.22xx-x8: 8 bit digitizer up to 5 GS/s and up to 4 channels

All M2p series based cards

  • M2p.59xx-x4: 16 bit digitizer up to 80 MS/s and up to 8 channels

What is needed?

The following parts are needed to run the parallel processing using the SCAPP option:

  • Motherboard with two free PCIe slots: one for the CUDA graphics card and one for the Spectrum Digitizer. Please make sure that both slots fit the maximum PCIe lane and generation of the card to receive optimum performance
  • Spectrum Digitizer with enables SCAPP option
  • NVIDIA CUDA 5.0 or above graphics card of Quadro or Tesla series  CUDA GPUs
  • Linux operating system
  • NVIDIA Nsight SDK for Cuda programming   NVIDIA Nsight
  • NVIDIA CUDA toolkit   Toolkit