Lead Inventor: Prof. Gerald Navratil, Ph.D.
Problem or Unmet Need:
Real-time data processing is essential to a wide variety of technologies, ranging from feedback control systems in vehicles and power plants to real-time imaging for minimally invasive medical procedures. The necessary computations are typically implemented on Field Programmable Gate Arrays (FPGAs) or multi-core PCs. FPGAs provide completely deterministic real-time performance, but are limited in their processing capabilities, and cannot be programmed in mainstream programming languages. Multi-core PCs are cheaper and easier to program, but achieving deterministic reliable real-time performance becomes very hard when latency requirements are in the microsecond regime.
An alternative hardware processing technology that has recently become popular is the Graphics Processing Unit (GPU). GPUs have very high processing power, and can be programmed in mainstream languages. Since algorithms run on the bare GPU hardware with no interfering operating system, GPUs also potentially provide much more deterministic performances than multi-core PCs. However, traditional GPU computing architectures use the GPU as a subordinate unit of the CPU, which functions as an overall supervisor of any computation. This approach prevents taking advantage of the more deterministic performance, increases latency, and has so far prevented the use of GPUs for real-time processing.
Details of the Invention:
This technology is a processing system which employs a GPU as the main computational hardware. By completely eliminating CPU and host RAM from the computation, the system is able to provide large processing capabilities and deterministic performance at costs orders of magnitude below those of comparable FPGA based solutions. Moreover, algorithms can be implemented in mainstream programming languages without the need for specialized knowledge of the processing hardware. The technology avoids the use of CPU and host RAM by transferring control input and output directly to and from GPU memory. Since this also reduces the total number of required transfers per computation, the technology allows setting up real-time data processing systems with both reduced latency and improved determinism. The technology has already been implemented and tested at Columbia University's plasma laboratory, where it was used for the design of a multi-input, multi-output feedback control system for magnetically confined plasmas.
Applications:
Feedback systems operating in the microsecond regime with either large number of inputs and outputs or complex control algorithms.
Mechanical or electrical engineering applications that require fast feedback and complex processing, e.g. automobile navigation systems that use real-time imaging to provide situation specific assistance (systems that can read and understand signs, detect potentially dangerous velocity, car-to-car distance, crossing pedestrians, etc.)
'Fly-by-wire' control systems for civilian and military aircraft control and navigation
Control of autonomous vehicles like. reconnaissance drones
Medical imaging technologies (e.g. MRI) that need to be processed in real-time, e.g. to provide live-imagery during surgery.
Scientific applications, e.g. feedback stabilization of intrinsically unstable experiments like magnetically confined nuclear fusion.
Advantages:
Use of GPUs rather than FPGAs significantly reduces costs, allows easier programming and thus faster development and deployment cycles.
Use of GPUs instead of multi-core PCs provides more deterministic performance and reduced latencies, allowing operating in the microsecond regime.
GPUs offer significantly more computational resources than both multi-core PCs and FPGAs, thus reducing the need for time and cost intensive performance optimization and/or allowing the use of more powerful algorithms.
Controller uses, and is compatible with all analog-to-digital and digital-to-analog signal processors that run on industry standard PCI Express architecture. This makes the technology cost-effective, user-friendly, and compatible with existing systems.
Patent Status: Patent Pending
Licensing Status: Available for Licensing and Sponsored Research Support