Electronicdesign 28805 Cacheq Promo Web

CacheQ Platform Revs Up Processor, FPGA Performance

Sept. 23, 2019
With the CacheQ Ultravisor, developers can deploy distributed computation to processors, GPGPUs, and FPGAs.

Distributed processing offers performance advantages, but programming it in a scalable fashion can be a challenge. Enterprise FPGA platforms likeXilinx’s AlveoandIntel’s PACare popular because they can support parallel processing in programmable hardware. Unfortunately programming FPGAs isn’t an easy task either. Partitioning systems across a number of chips is even more difficult.

CacheQ设计了一个异构分布式acceleration system that can target a range of platforms from arrays of processors to FPGAs(see figure)。公司的手法加速度是一个开发平台elopment environment that handles these heterogenous computing resources. It’s designed to provide orders of magnitude of performance improvement while significantly reducing development time.

CacheQ targets a variety of platforms from GPGPUs to FPGAs.

“Demand for hardware acceleration beyond x86 is tremendous,” says Clay Johnson, chief executive officer and co-founder of CacheQ Systems. “Our goal is to simplify high-performance data center and edge-computing application development. The QCC Acceleration Platform meets that goal and will enable new solutions across a variety of applications, including life sciences, financial trading, government, oil and gas exploration, and industrial IoT.”

The platform is based on the CacheQ virtual machine (CQVM). Applications are compiled using an LLVM-based compiler that generates the CacheQ target language (CTL). This approach is typical for LLVM-based compilers, including popular C/C++ versions. In turn, it can be used to target a particular platform like an FPGA. A system can also be run through the virtual-machine optimizer and partitioner.

Partitioning is important for large applications that will span multiple chips, systems, or even data centers. It can be a challenging problem because of timing, memory, and pipeline considerations. Many developers do this manually, but having a tool that’s able to handle it automatically or under user-configuration control allows for easy repartitioning. Thanks to the approach, custom many-port pooled memory architectures can be included, significantly improving overall system performance. FPGAs lend themselves to such a technique.

CacheQ needn’t target a homogeneous system. In fact, most systems will be heterogeneous in nature, making partitioning and support issues like memory management critically important. Issues like pointer support, memory-pool management, and multiport memory designs come into play, leading to a rather complex solution. Repartitioning a system can change how these pieces work together and how they’re structured. Manual programming would be prone to errors, whereas the compiler and tool approach used here handles these automatically, enabling changes to be made and quickly evaluated.

Latest

Murata — IRA IRA-S210ST01 Pyroelectric Infrared Sensor

March 31, 2022
The Murata IRA-S210ST01 is a leaded pyroelectric infrared sensor which provides a good signal-to-noise ratio and reliable performance.. In smart light…

Nexperia — PMEGxxxTx Trench Schottky Rectifiers

March 31, 2022
Nexperia has extended its portfolio of trench Schottky rectifiers with devices rated at up to 100 V and 20 A. The new parts feature excellent switchi…

Women in Engineering – Inspiring Creative Growth in Our Field

March 8, 2022
Over the last few years, the number of women in the technology or engineering profession has risen. The number of women enrolled in post-secondary en…

The Future of Automotive Wheel Sensing with GMR

Feb. 23, 2022
Download PDF Version. Allegro MicroSystems. Magnetic sensors are used extensively in modern vehicles, serving to measure the position of moving parts,…

Voice your opinion!

This site requires you to register or login to post a comment.
No comments have been added yet. Want to start the conversation?
Baidu