en
  • English
  • German
  • Chinese
Drivers & examples
Scapp - CUDA GPU based data processing
Parameter Search Sales Contact Support

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 or AWGs and CUDA based GPU cards. The SCAPP package runs on Windows and Linux systems. Once data is available to the GPU, users can harness the processing power of the GPU's massive number of processing cores and large, ultra-high-speed GPU 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 Python 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

Diagram of SCAPP optionThe 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.

Details

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 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 Python and can easily be implemented and improved with normal programming skills. Starting with tested and optimized parallel processing examples gives first results within minutes.

Examples for Linux are available for direct data transfer using RDMA. Examples for Windows are available showing how to transfer data using two DMA data transfers.

Nvidia Jetson AGX

Picture of Jetson AGXSpectrum Instrumentation offers full driver support for the NVIDIA Jetson Xavier AGX, an embedded computing board from NVIDIA. The NVIDIA Jetson consists of an ARM CPU and a CUDA-based GPU for high-performance parallel processing. In addition, it has one PCIe slot that can accommodate any Spectrum PCIe card. The high-speed parallel processing of the GPU makes it a perfect platform for handling the large volumes of data that can be acquired and generated by the Spectrum products.  Widely deployed, the NVIDIA Jetson can already be found in in a host of onboard mobile platforms such as autonomous robots, drones, handheld medical devices, intelligent vehicles and smart appliances. In many of these applications, fast analogue and digital signals also need to be acquired, generated and analysed. That is where the Spectrum products come into their own.

Combining an NVIDIA Jetson with a Spectrum PCIe card allows the creation of very small, low power systems which can be used as host of portable and mobile applications. 

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

Visit the Nvidia Jestson Xavier AGX page: https://developer.nvidia.com/embedded/jetson-agx-xavier-developer-kit

Nvidia Clara AGX

Picture of Nvidia ClaraSpectrum SCAPP SDK also supports Nvidia Clara AGX development system. The Clara AGX contains a combination of a Jetson Xavier AGX together with a powerful NVidia RTX 6000 GPU and two free slots for extension cards. The Nvidia Clara AGX can be used as base for medical and AI devices. The two slots of the Clara AGX device can be equipped with the following Spectrum cards:

One or two M2p-based cards together with star-hub synchronization:

  • 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

One M4i-based card:

  • 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

Visit the Nvidia Clara AGX homepage: https://www.nvidia.com/en-us/clara/developer-kits/

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.

Operating Systems

  • Linux (including RDMA)
  • Windows (no RDMA, double DMA data transfer)

All M5i series based cards

  • M5i.33xx-x16: 12 bit digitizer up to 6.4 GS/s and up to 2 channels

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

  • C++ 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
  • C++ Block Average with Noise Suppression and Multi Block. Tested up to 2.5 GS/s 8 bit data acquisition with a block size of
  • C++ FIR Filtering
  • C++ Basic A/D example
  • C++ Basic D/A example
  • C++ Basic DI (Digital Data Acquisition Card) example
  • C++ Basic A/D sync example (multiple Digitizers, one GPU)
  • C++ Basic DI sync example (multiple DI cards, one GPU)
  • Python Gap-Free FFT

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
  • Windows or Linux operating system

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.

Download

Contact

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
Support

Request support. We are happy to help.

Support
powered by webEdition CMS