www.gage-applied.com
CompuScope GPU CUDA Processing Block Diagram
Overview
Performing real-time digital signal processing (DSP) routines
such as Fast Fourier Transform (FFT), Signal Averaging, Finite
Impulse Response (FIR) Filtering, Digital Down Conversion
(DDC) and more have traditionally required the use of
dedicated DSP processors, Field Programmable Gate Arrays
(FPGAs), or Application Specific Integrated Circuits (ASICs).
The size of DSP processors, FPGAs, and ASICs are often
resource limited and require significant development with
specialized engineering skills in particular languages and
platform tools that are often native and proprietary to the
targeted device. These solutions are typically expensive in
terms of the physical devices, required software development
tools, lengthy development cycles and expertise resources.
With the evolution of increasing multi-core CPU resources,
developers began to implement DSP routines utilizing the
host CPU. The primary advantage of the host CPU platform is
that it enables faster development utilizing more familiar
programming environments such as C; as opposed to more
complex VHDL based programming that is typically required
for FPGAs. However a disadvantage is that the host CPU
platform may still not be powerful enough to conduct
complex processing routines, especially for real-time
application requirements.
The use of a GPU provides the best of both capabilities, a fast
familiar programming development environment such as C
and more powerful computational capabilities than the host
CPU platform to satisfy demanding real-time application
requirements. GPUs incorporate many more cores with a
high-speed memory bus that can be effectively utilized in
parallel for efficient manipulation of large blocks of data.
The PCI Express (PCIe) interface bus is the key pathway for
transferring data to and from the GPU at very high-speeds.
Taking advantage of the GaGe eXpert PCIe Data Streaming
firmware capability, GaGe CompuScope PCIe Digitizer models
can simultaneously acquire and stream data to the GPU at
sustained rates up to 5 GB/s via a PCIe Gen3 interface.
The Gage CompuScope C Software Development Kit (SDK)
provides ready-made compiled sample programs illustrating
how to configure and use the eXpert PCIe Data Streaming
feature to stream acquired data to the GPU for processing
AND how to effectively exploit the parallelized vector
processing of the GPU to attain processing rates anywhere
from 10X ~ 100X faster than the host CPU for display analysis.
This enables end users to quickly and easily begin working
with GPU cards, focusing on the development of their custom
in-line processing routines that is unique to their application.
Projects can be developed rapidly and are more transportable
working in a C programming environment with the GPU CUDA
library.
The Gage CompuScope C SDK sample programs also illustrate
streaming GPU processed data results continuously to high-
speed storage for real-time data recordings of the processed
output. Utilizing PCIe based storage systems allow for
continuous signal capture and processing recording systems
at high-speed sustained transfer rates at up to 5 GB/s within
a Windows based environment.
GPU processed data can also be optionally streamed to PCIe
Arbitrary Waveform Generators to effectively playback
modified signals back out to the testing environment, suitable
for applications such as Digital Radio Frequency Memory
(DRFM).
Input Signal
Display Analysis
Output Signal
Stream to GPU
SSD
RAID
Storage
Digitizer A/D
Stream to Storage
Stream to/from Storage
Stream to AWG
AWG D/A
Stream from Storage
GPU CUDA Processing