What is CAPI?
Whether the workload is on the premises or in the cloud, IT organizations must provide increased system performance as their workloads grow with demands for big data analysis, social media applications, continuous customer connectivity, and business-specific applications. Increases in processor performance alone cannot satisfy the workload demands. Therefore, solutions must also come from system-level advances such as heterogeneous computing, processing engine customization, and open platform development that enables cross-company innovation.
CAPI connects a custom acceleration engine to the coherent fabric of the POWER8 chip. The hybrid solution has a simple programming paradigm while delivering performance well beyond today’s I/O-attached acceleration engines.
With many accelerators now available, solution providers are using CAPI to improve performance versus existing solutions, to lower costs, and to create solutions that were previously beyond the reach of the compute complex.
CAPI versus traditional acceleration
CAPI on POWER8 systems provides a high-performance solution for the implementation of software-specific, computation-heavy algorithms on an FPGA. This innovation can replace either application programs running on a core or custom acceleration implementations attached via I/O. CAPI removes the overhead and complexity of the I/O subsystem, allowing an accelerator to operate as an extension of an application. The IBM solution enables higher system performance with a much smaller programming investment, allowing heterogeneous computing to be successful across a much broader range of applications.
Because the FPGAs are reconfigured, hardware can be specialized without the traditional costs of hardware fabrication. CAPI enables a customer-defined FPGA solution to be a peer to the POWER8 cores from a memory access (coherent) standpoint.
Features and benefits
|Customizable accelerator||Application developers can create an accelerator specifically tailored to their application using an FPGA platform. This specialization can improve performance.|
|Virtual addressing||An accelerator acts as a peer to the POWER8 cores, creating a truly shared memory space between the application and FPGA accelerator. The accelerator essentially becomes another thread of the application. Address translation is managed by the POWER8 processor.|
|Coherency||Application developers use a hardware managed 256KB cache in the FPGA for improved latency and synchronization with the main application threads.
The FPGA cache is fully coherent with the caches in the POWER8 cores.
|Simple API||Application developers can easily start and control the accelerator.
The API features an intuitive programming interface similar to any multi-threaded application.
|Flexible programming model||Application developers determine the best programming model for their application. The application can either dispatch work for the accelerator or the accelerator can act independently. This flexibility enables devices such as edge-of-network accelerators to process incoming work independently and to notify the main application when data is ready.|
|Extendable architecture||Application developers can choose an OpenPOWER Foundation partner device, such as Nallatech’s CAPI Developer Kit.
Extendable to other FPGA platforms, the architecture uses card features such as Ethernet and DRAM.
In addition, the architecture supports prepackaged CAPI solutions such as the IBM Data Engine for NoSQL.
All CAPI products require a POWER8 system with CAPI enabled. The POWER8 processor contains logic that enables a CAPI-attached product to participate in the system-wide memory coherency protocol. API users either develop their own solution or purchase a prepackaged CAPI solution. Check back often to view the growing list of CAPI accelerators. There are two categories of CAPI-related products. Enablement products provide the hardware, software, tools, and infrastructure that lets you to create a CAPI Solution. End solutions are accelerator products that run on your POWER8 servers.
CAPI solutions refers to a customer application that uses an FPGA-based accelerator on top of the CAPI infrastructure. The accelerator, called by the application, provides performance enhancements, security, or other quality of service enhancements vs. a non-accelerated application. CAPI Solutions are available for purchase from the application vendor or IBM.
Storage augmenting accelerators
- PCIe3 CAPI (EJ1A/EJ1B) Compression Accelerator Adapter
GZIP Compression for the best in-industry compression to save on storage
Financial and insurance accelerators
- CAPI-Enabled Order Book for high-frequency trading
Algo-Logic Systems’ Coherent Accelerator Processor Interface (CAPI) enabled Order Book is an FPGA hardware accelerator that processes market data while running on the Nallatech P385 card in an IBM POWER8 server.
CAPI technical resources
For more information about CAPI and for CAPI use cases, see:
- White papers
- OpenPOWER foundation blog series
The Coherent Accelerator Processor Interface (CAPI) infrastructure provides the technology and ecosystem foundation to enable data center applications to integrate with Field Programmable Gate Arrays (FPGA) acceleration. The CAPI SNAP (Storage, Network, Analytics and Programming) education video series listed at CAPI SNAP Education IBM Developer Center website (originally published in YouTube) are videos that provide...
Introduction: The explosive growth of data from various sources requires cloud platforms to store unstructured data for Big Data applications in a scalable and durable manner. NoSQL data stores such as MongoDB, HBase and Cassandra are increasingly used in Big Data applications because they do not require data to be stored in a structured format...
Coherent Accelerator Processor Interface Overview The Coherent Accelerator Process Interface (CAPI) is a general term for the infrastructure of attaching a Coherent accelerator to an IBM POWER system. The main application is executed on the host processor with computation-heavy functions executing on the accelerator. The accelerator is a full peer to the host processor, with...
Connect with the CAPI team
Ask a question, contribute to the conversation, and meet the IBM CAPI on POWER team: