• English
  • German
  • Chinese


SCAPP - CUDA GPU based data processing

SCAPPFor 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 or AWGs 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 cards's full PCIe transfer speed to/from the GPU card. The SDK includes a set of examples for interaction between the digitizer/AWG 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.

Watch this video on youtube.com
Watch this video on youku.com

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 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.


OverviewThe SCAPP driver package consists of the driver extension for Remote Direct Memory Access (RDMA) that allows the direct data transfer from Digitizer to GPU or from GPU to AWG. It includes a set of examples for interaction with the Spectrum card 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.

Nvidia Jetson

The SCAPP package also supports the Nvidia Jetson Xavier AGX product family: read more

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.22xx-x8: 8 bit digitizer up to 5 GS/s and up to 4 channels
  • M4i.44xxx-8: 14/16 bit digitizer up to 500 MS/s and up to 4 channels
  • M4i.66xx-x8: 16 bit AWG up to 1.25 GS/s and up to 4 channels
  • M4i.77xx-x8: 32 channel digital up to 720 MBit/s

All M2p series based cards

  • M2p.59xx-x4: 16 bit digitizer up to 125 MS/s and up to 8 channels
  • M2p.65xx-x4: 16 bit AWG up to 125 MS/s and up to 8 channels
  • M2p.75xx-x4: 32 channel digital I/O up to 125 MS/s

Full running GPU examples provided

  • Gap-free FFT with Average. Tested up to 4 x 400 MS/s 14 bit data data acquisition with 1MPoint FFT, continuously without any gap
  • Block Average with Noise Suppression and Multi Block. Tested up to 2.5 GS/s 8 bit data acquisition with a block size of
  • FIR Filtering
  • Basic A/D example
  • Basic D/A example
  • Basic DI (Digital Data Acquisition Card) example
  • Basic A/D sync example (multiple Digitizers, one GPU)
  • Basic DI sync example (multiple DI cards, one GPU)

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 Nsight SDK for Cuda programming   NVIDIA Nsight
  • NVIDIA CUDA toolkit   Toolkit

What is needed to run RDMA?

The following additional components are needed to run RDMA (direct DMA between Spectrum card and CUDA card).

  • NVIDIA CUDA 5.0 or above graphics card of Quadro or Tesla (Datacenter) series, Jetson Xavier AGX. GeForce cards are NOT supported, even if their CUDA compute capability is 5.0 or higher!  CUDA GPUs
  • Linux operating system (for direct RDMA data transfer)
  • A motherboard with all used slots inside one Root Complex. The Spectrum card as well as the CUDA card need to share one Root Complex. If the slots are located in different root complexes RDMA won't work. Please check with the motherboard supplier to make sure that the setup fits.

Access to examples and driver

All SCAPP examples as well as the needed Linux kernel driver sources are available directly after purchase of the option. Examples and sources are not allowed to be published or shared with other persons. Programs and binaries based on the examples or sources can be used by all means.





On location for you. Choose your region.

Europe USA Asia
Contact Europe
Phone +49 (0)4102 6956-0
Fax +49 (0)4102 6956-66
E-Mail info@spec.de
Contact USA
Phone +1 (201) 562-1999
Fax +1 (201) 820-2691
E-Mail sales@spectrum-instrumentation.com
Contact Asia
Phone +61 402 130 414
E-Mail greg.tate@spectrum-instrumentation.com

Request support. We are happy to help.