![]() |
![]() |
OpenCV contour detection and location screen captures with c66x acceleration enabled
Click here to see a YouTube video of VDI streaming |
![]() |
Virtual OpenCV hardware with c66x accelerator (VMM dialog / VM configuration screen cap) |
OpenCV Accelerator -- Computer Vision Hardware Acceleration
- Overview
- Product Information
- Why Use Hardware Acceleration
- OpenCV API and Source Code Examples
- HPC Software Model
- CPU vs. GPU Overview
- How To Purchase
- Related Items
- Tech Support
- Endpoint combinations of file, RTP, MPEG-TS, and H.264 encoding/decoding
- Latency control; accelerator cards have their own dedicated NIC to reduce latency
- YUV format support
- CPUs tend to be good at complex algorithms that require random memory access, non-uniform treatment of data sets, unpredictable decision paths, and interface to peripherals (network I/O, PCIe, USB, etc).
- GPUs tend to be good at well-defined algorithms that operate uniformly on large data sets, accurate and very fast math, and graphics applications of all types
- GPU cores are sometimes called "CUDA cores", in reference to Nvidia's programming language. It's not easy to compare CPU and GPU cores (apples and oranges). Maybe the easiest way to think about it is (i) for any given math calculation, a GPU core can almost always do it much faster, and (ii) GPU cores do not run arbitrary C/C++, Java, or Python code, so they're not programmable in the conventional sense
- A GPU accelerator can bring far more processing force to bear on massively parallel problems. Examples include graphics, bitcoin mining, climate simulations, DNA sequencing -- any problem where the data set can be subdivided into "regions", such that the results of one region do not depend on others
- A CPU accelerator typically has its own NIC (or more than one), which can provide advantages in reduced latency and "data localization" -- bringing the compute cores closer to the data. Onboard NICs are typically not found on GPU accelerators as GPU cores are not designed to run device drivers, TCP/IP stack, etc.
- Both types of accelerators take full advantage of high performance PCIe interfaces found in modern servers, including multiple PCIe slots and risers, accessibility to DPDK cores, and excellent software support in Linux
- Required Number of Streams
- Required Number of VMs
- Max Frame rate
- Max Resolution
- Qty -- number of cards required
- Your discount category
Overview
-
Maximize OpenCV performance with software + hardware solution -- a computer vision accelerator
Compatible with Linux servers, all form-factors
Use standard OpenCV APIs, product includes OpenCV lib
Add up to 512 CPU cores in a standard server to increase OpenCV concurrency
Run multiple, concurrent OpenCV instances in multiple VMs, without decreased performance
Additional OpenCV APIs allow multiple, concurrent streaming I/O with:
Product Information
![]() |
![]() |
Signalogic Part # | DHSIG-CIM32-PCIe / DHSIG-CIM64-PCIe |
System Manufacturer |
Signalogic![]() |
Description | OpenCV Accelerator |
Product Category | HPC (High Performance Computing) |
Product Status | Preliminary |
Default tab content (this text) shown when (i) no tabs are automatically selected, or (ii) if rel value for the tab ="#default".
Availability
Stock: 0
On Order: 0
Factory Lead-Time: 8 weeks
Stock: 0
On Order: 0
Factory Lead-Time: 8 weeks
Pricing (USD)
Qty 1: 4500 MOQ: 1 †
Qty 1: 4500 MOQ: 1 †
Promotions
Current Promotions: None
Current Promotions: None
Why Use Hardware Acceleration
Various vendors talk about GPU, DSP, FPGA, etc. but these are all "really hard to use" solutions. These vendors miss the point, trying to prove that servers are not traditionally good at streaming and image processing. Obviously servers are plenty good at running ffmpeg and image processing. What is fair to say is that trends in server architecture, including virtualization, DPDK, and software-defined networking, have increased performance expectations of individual servers. In the past HPC users were willing to stack boxes; now due to virtualization, they expect one box to be a stack of VMs -- without penalties in performance, latency, and network I/O throughput. Signalogic's software and hardware acceleration products are designed to take full advantage of server architecture trends. They augment modern servers, providing well integrated functionality and user interface, as opposed to alternative, non-mainstream methods. User interfaces include ffmpeg command line, opencv APIs, OpenMP programming, and VM configuration. Within the latter, our products add cores, DDR3 mem, and NIC resources that can be used both with/without virtualization. The result is improved server performance density, reduced latency, and increased stream concurrency, without having to use proprietary programming languages, study a 300-page chip vendor data sheet, work with low level "SDKs", or other time-consuming development efforts.OpenCV API Usage Examples
![]() |
OpenCV API usage / source code example with c66x hardware acceleration and streaming |
HPC Software Model
Below is a software model diagram that shows how c66x CPUs are combined with x86 CPUs inside high performance computing (HPC) servers. The user interface varies in complexity from left to right, from simple (command line) to complex (OpenMP pragmas). Pragmas are compiled by the CIM® Hyperpiler™, which separates C/C++ source into "soure code streams" and augments streams with additional, auto-generated C/C++ source code. Multiple different applications can be run at the same time, as concurrent host processes, concurrent VMs, or a combination. Adding DPDK capability to application user space is optional.
![]() |
Software model for combination of c66x and x86 CPUs in HPC servers |
Notes 1CIM® = Compute Intensive Multicore 2RTAF = Real-time Algorithm Framework 3HPMN = High Performance Multicore Network stack
CPU vs. GPU Overview
CPU and GPU devices are constructed from fundamentally different chip architectures. Both are very good at certain things, and both are not so good at some things -- and these strengths and weaknesses are mostly opposites, or complementary. In general:In comparing the diagrams above, some obvious differences and similarities stand out:
How to Purchase
Enter the fields shown above, including:Related Items
FFmpeg Acceleration:
![]() |
FFmpeg screen captures with c66x acceleration enabled |
Surveillance Video Suspect Detection and Tracking:
![]() |
Surveillance video suspect detection and tracking |
TI Wiki Links: