The stagnation of single-core central processing unit (CPU) clock speeds has brought parallel computing, multicore architectures, and hardware-acceleration techniques back to the forefront of computational science and engineering.
We’ve seen this become more apparent in recent years with the use of graphic cards, or more specifically GPUs (Graphics Processing Units), for high speed general purpose computing; an approach known as GPGPU (General Purpose Computing on Graphics Processing Units).
At Plextek, we recognise this evolution of GPUs and the emerging parity to Field Programmable Gate Arrays (FPGAs) in both performance and power consumption when used as the primary processor for the many signal- and image-processing applications where elements can be processed in parallel.
Emerging technologies are increasingly requiring substantial processing power capabilities and this introduces many situations where low size, weight, power and cost (SWAP-C) solutions are essential for quick prototyping, production and release to market.
Traditionally, this meant either low computing power (a single embedded micro-processor or Digital Signal Processor) or a bespoke FPGA solution with a long and high-cost development process. GPGPU offers a cost efficient alternative with the processing power and power consumption similar to a FPGA but with a quicker and cheaper development path.
One particular advantage is that where CPUs consist of a few cores optimised for sequential serial processing, a GPU is optimised for parallel processing, consisting of thousands of multiple cores designed to process multiple tasks simultaneously. This leads to processing speed ups when looking at similar cost/power consumption.
Our signal processing team can leverage the large number of processing elements within a GPU through support of programming frameworks such as CUDA®, OpenACC and OpenCL. These parallel platforms and application programming interface (API) models allow us to work in high-level programming languages to develop flexible and accessible signal and data processing algorithms. Being able to easily and quickly create a software program, run and profile it on a GPU, test the product and review the results all within a short time period leads to a rapid entry time to market.
We understand that when evaluating what is important for your design, the application of CPUs, GPUs and FPGAs all have their unique trade-offs regarding processing capability, power efficiency, BOM cost and other parameters such as latency, development effort, flexibility and interfaces. Our multidisciplinary team are dedicated to providing a solution that best suits your requirements and specifications.