Experimenter’s Simulation Software from Impulse Accelerated Computing allows developers to quickly evaluate the capabilities offered by Solarflare’s new ApplicationOnload Engine (AOE).
The massively parallel architecture of FPGAs means they can act as extremely effective offload engines to relieve CPU bottlenecks. Shifting critical code to the FPGA and running those algorithms using multiple streaming processes in the FPGA can provide overall acceleration of 10x or more over CPU-only solutions.
The folks at Solarflare develop network interface software and hardware and provide application acceleration for the most-demanding, computationally intensive environments. Solarflare’s new AOE features a large, powerful FPGA from Altera presented in a network-friendly PCIe form factor. The AOE provides a platform for developers to first explore software/hardware co-design and to subsequently scale up their applications for deployment in the field.
But how do developers know what to expect? This is where the Experimenter’s Simulation Software from Impulse Accelerated Computing comes into the picture. This software, which runs within Visual Studio, GCC, or similar, supports the appropriate pragmas and provides the necessary extensions to allow C algorithms to be refactored into coarse-grained logic that is then machine-compiled into multiple streaming processes that run in the FPGA hardware.
Impulse C enables financial and other algorithms to be optimized in C, simulated, and compiled into multiple streaming processes for download to the AOE’s FPGA.
This type of FPGA acceleration can be used to offload a variety of compute-intensive tasks, such as custom packet inspection. The Impulse AOE Experimenter’s Software Simulator provides everything required for users to refactor their C code and simulate how well it will machine-compile into the multiple streaming processes that will run on the AOE’s FPGA.
Once these evaluations have been performed, users can acquire a physical AOE, at which point they can compile their refactored algorithms all the way to the FPGA hardware on the AOE.