XtremeData, Impulse Accelerate C with Scalable FPGA-Based Computing

XtremeData and Impulse Accelerated Technologies announced C-to-hardware support for the XtremeData XD1000, allowing software developers to rapidly create FPGA-accelerated, C-language software for financial computing, bioinformatics and other high performance enterprise applications.

“The performance advantage of FPGAs over CPUs for compute-intensive problems is well-understood,” said Dr. Nathan Woods, Principal Scientist at XtremeData. “The key to FPGA acceleration is the exploitation of parallelism in the algorithm to be accelerated. This includes instruction level parallelism, exploited via deep pipelining in the FPGA; data level parallelism, exploited via replicated data path structures operating concurrently in the FPGA; and task level parallelism, exploited by, for example, concurrent operation of the CPU and the FPGA. By exploiting all forms of parallelism, a 200 MHz FPGA can outperform a state-of-the art 3 GHz CPU by an order of magnitude or more, at a quarter of the power dissipation or less.”

FPGA-based acceleration of enterprise applications is rapidly gaining acceptance as way to overcome the “scalability gap” in large, compute-intensive algorithms. Existing solutions based on clusters of traditional processors allow data centers to be scaled up linearly at best. Data loads in these centers, however, are growing exponentially. The result is that data center scale-up is limited by problems of powering and cooling the additional servers. In this context, the massively parallel architectures of Field Programmable Gate Arrays (FPGAs) have become attractive alternatives to power-hungry CPUs. In fields such as financial, biomedical and scientific computing, “performance-per-Watt” is equally or more important than “performance-per-dollar.” In these domains, FPGAs are well-positioned against general-purpose CPUs and specialized processors such as GPUs.

Historically, a limiting factor to FPGA acceptance for high performance computing has been the requirement that algorithms be substantially rewritten, using low-level hardware description languages (HDLs) such as VHDL and Verilog. The HDL tool flow may be perfectly acceptable to an experienced hardware developer, but this level of programming abstraction is far removed from the familiar world of software development.

According to Woods, “For broader acceptance in the enterprise computing world, a more software-oriented approach to FPGA design is mandatory. One such approach is the parallel computing model provided by Accelerated Technologies in its Impulse C compiler. Impulse C provides a much higher level of abstraction than HDL, via the standard ANSI C language extended with an easy-to-use set of FPGA-specific API functions.”

To provide a more software-oriented programming experience, XtremeData and Impulse have collaborated to produce a Platform Support Package (PSP) allowing Impulse C to be used for mixed software/hardware applications targeting the XD1000 FPGA Coprocessor Module.

“We are excited by the potential of FPGA-based acceleration using the XD1000 platform,” stated David Pellerin, CTO of Impulse. “Impulse C is ideally suited to creating highly parallel applications, and our collaboration with XtremeData has resulted in a powerful, platform-based solution for high performance computing.”

“It is widely recognized that FPGAs offer superior performance for compute intensive applications compared with general purpose processors,” said Jim Smith, Altera’s Director of EDA vendor relations. “The collaboration of our partners, Impulse Accelerated Technologies and XtremeData, to address the design flow challenges necessary to bring this capability to market will lead to greater adoption across a wide range of applications.”

With the XD1000 and Impulse C, software application programmers can create an FPGA accelerator written entirely C, without the need to write any low-level HDL code. In addition, the Platform Support Package generates a complete FPGA place and route script and a software makefile. Support for IEEE 754 single and double precision floating-point arithmetic is enabled through the use of XtremeData floating point libraries that are integrated directly into the Impulse C compiler flow and licensed separately by XtremeData. “We are happy to collaborate with Accelerated Technologies and jointly develop a fully-integrated, seamless design flow from C to FPGA accelerator,” said Ravi Chandran, CEO of XtremeData.

The XtremeData coprocessing development system is a complete design environment, including an AMD Opteron processor-based PC with an XD1000 coprocessor module, a reference design containing HyperTransport and DDR interfaces, and a JTAG download cable for configuring the FPGA and probing internal FPGA signals using Altera’s SignalTap(R) II embedded logic analyzer.

About XtremeData Inc.
XtremeData Inc., is a privately held Chicago-area company developing innovative solutions for high-performance computing. Target markets include imaging, communications, bio-informatics, and enterprise computing.

About Impulse
Impulse Accelerated Technologies, Inc. is a privately held Seattle-area company developing software for FPGA-acceleration of C-language applications. The Impulse tools include advanced parallel compiler optimizations including statement scheduling and loop pipelining, as well as providing C-compatible API functions for multi-process parallelism. Current Impulse users can download support for the XtremeData XD1000 in the latest Impulse CoDeveloper software release from the Impulse website. Free trial software and web-based live product demonstrations are also available.