If you're up against tighter market windows, performance challenges, and fewer development resources, it might be time to consider a better way forward: OpenCL.
6. It solves real design challenges.
With the high-performance computing world pressing aggressively toward exascale performance, you already know that the old CPU- and GPU-based product strategies won't get you there. The requisite bandwidth, power consumption, memory performance, and resilience, among other ambitious design objectives, combine with time pressures to present a deep set of challenges. OpenCL targeted to FPGA-based high-performance computing systems provides a path forward. In the case of Pico Computing's acceleration solutions, that path also includes easy scalability.
7. It makes systems easy to maintain.
In an era of ever-shortening product lifecycles, application requirements can change every year -- or even more frequently. This can present real difficulties in managing high-performance, algorithm-specific hardware. OpenCL targeted to FPGA-based systems eliminates this challenge. Again, because the FPGA fabric is reconfigurable, developers need only recompile new software; the OpenCL code and the device frameworks take care of all the configuration and bitstreaming flows in situ. In the meantime, because the OpenCL-based software is abstracted well above the particulars of the hardware, it's easier to maintain diverse code bases -- independent of their implementation in hardware. That takes risk out of the equation, too.
8. It thinks parallel.
According to its keeper, The Khronos Group, OpenCL is "the open standard for parallel programming of heterogeneous systems." The keywords here are standard, parallel, and heterogeneous -- the three things that will move HPC forward in our post-CPU world. CPU-based serial computing has hit the wall. To some extent, GPUs (also supported by OpenCL) have been exploited to address this wall with their parallel processing capabilities, but they consume too much power. That leads us straight to FPGAs, where OpenCL's inherent parallelism maps naturally to the FPGA fabric.
At this point, the task is actually less about the OpenCL language and more about how you adapt your algorithm. You'll port to the acceleration system only code segments that lend themselves to parallel processing, whether that parallelism is achieved via task or data parallelism -- or both architectures simultaneously. Offloading these sorts of functions from the host CPU provides instant performance improvements while consuming less power. In fact, the host can be taken out of the loop on a great many operations, because the FPGAs can pass data among themselves and to and from the outside world without any host involvement.
9. Its versatility protects your investment.
The versatility of the OpenCL/FPGA approach cuts many ways. In terms of applications spaces, the OpenCL/FPGA paradigm benefits all fields addressed by HPC, from high-speed trading to bioinformatics to cryptography to oil and gas and beyond. It applies in solutions that span products embedded at the edge of the network to the desktop to the datacenter. Put in the context of a PCI Express framework, it provides for modular and easily scalable high-performance computing resources. Also, because FPGAs are field upgradable, keeping up with future revisions is easy. Moreover, it's a design approach that leverages use and reuse strategies, making the most of OpenCL kernels and HDL libraries. You'll also be able to conserve legacy code, and you can easily augment that code with new features and functions -- without disruption or risk.
10. It delivers the best of two worlds.
FPGA technology charts an ideal middle path between conventional hardware systems (generic and low performance with little differentiation and correspondingly low lead time) and ASICs (high cost, long lead time, least flexibility, and greatest risk). With OpenCL compiled to an FPGA-based system, you can get the best of both worlds: product differentiation with short time to market and a flexible design process with low risk. When you cut time to market with a superior product, you'll also realize revenue sooner -- an important aspect that must be factored into cost estimations.
If you're up against tighter market windows, performance challenges, and fewer development resources, it might be time to consider a better way forward, and that way is OpenCL.
John Schroeter is CMO at Pico Computing and the author of Surviving the ASIC Experience. He has held senior marketing positions at Fairchild Semiconductor, United Technologies Microelectronics Center, and Impinj.