News ID

Impulse C Integration to Solarflare AOE Programmable Network Interface Card Shortens Development Time for In-Line, Low-Latency Custom Network Applications

Impulse Accelerated Technologies
Solarflare\'s new Offload Engine adds PCIe to FPGA for CPU offloading
Solarflare\'s new Offload Engine adds PCIe to FPGA for CPU offloading

Impulse Accelerated Technologies, makers of the leading C to FPGA optimizing compiler, announced the availability of Development Kit Framework that abstracts away challenging hardware infrastructure elements, enabling software developers to be more productive when compiling C algorithms to Solarflare’s new Application Offload Engine (AOE).

Solarflare’s AOE is a dual 10 Gbps network interface card that is augmented with a powerful Altera Stratix V FPGA in-line with the network path. Development is supported by Solarflare’s Firmware Development Kit (FDK) and now linked with Impulse’s C to FPGA optimizing compiler via a Platform Support Package (PSP). The connection to Impulse C creates a path for C programmers to easily move algorithms to FPGA hardware, implemented as multiple streaming processes, thereby reducing latency and accelerating 10- to 100-times.

“Solarflare customers have significant investments in algorithms for everything from network security to financial transactions to general filtering,” said Bruce Tolley, vice president of solutions marketing at Solarflare. “Already in beta tests with Impulse C, we are witnessing customers reduce the algorithm development time on their FPGAs from months to weeks. We think Impulse C will widen the overall acceptance of Solarflare’s AOE and of programming FPGA-based network interfaces.”

The combination of Impulse C and the FDK makes it easier to place the AOE module in-line with network traffic on either or both ports. The framework adds co_register, co_stream and co_signal functions, which provide multiple means of communicating and synchronizing with the host. Additionally, users can partition logic with the host, the FPGA or between FPGA hardware and available FPGA soft-core processing elements. Impulse C code remains compatible with ANSI C and the tool flow includes that the first verification checks are done entirely using standard C compilers such as GCC, MS Visual Studio, etc.

“We see Solarflare’s introduction of their AOE as a significant advance in network programmability and incremental network process acceleration,” said Brian Durwood, CEO of Impulse Accelerated Technologies. “We believe their presence in financial and other networking markets will provide a basis for users to begin offloading parts or entire applications from the CPU to FPGA for latency and bandwidth improvements.”

Software developers increasingly use FPGAs to accelerate compute-bound microprocessor algorithms. However, most software developers are not familiar with VHDL, Verilog or hardware design and often do not understand the nature of hardware resources on FPGA. Impulse C bridges gaps between running on FPGA hardware and running on the host processor, allowing software developer refactor microprocessor oriented C into coarse-grained logic.

Project managers report 50% time savings on first prototype and more than 80% time savings on iterations. Interested developers can try Impulse C free by requesting an evaluation from Impulse also offers performance tuning and data streaming design services for a general C based design, and offers free design consultations.