OPRA FAST Parser Design Example

Recommended for:

  • Device: Unknown

  • Quartus®: v16.1 - v17.1

author-image

By

This example demonstrates an Open Computing Language (OpenCL™) implementation of a parser for the OPRA FAST standard. OPRA FAST is a standard developed for high-throughput and low-latency communication in financial markets.

The kernel parses incoming compressed OPRA Fast data from a UDP offload engine, and returns a subset of fields over Ethernet with the UDP offload engine. The UDP offload engines are represented as I/O channels to the kernel.

The kernel in this example is designed to process data at a line rate of 10G. More information is available in the OPRA FAST Overview and Implementation document available in the Downloads section below.

Features

  • Channels vendor extension
  • Low-latency for latency-sensitive application
  • Single work-item kernel

Downloads

The design example provides source code for the OpenCL device (.cl) as well as the host application. For compiling the host application, the Linux* package includes a Makefile.

The following downloads are provided for this example:

The use of this design is governed by, and subject to, the terms and conditions of the hardware reference design license agreement.

Software and Hardware Requirements

This design example requires the following tools:

  • Intel® FPGA Software v16.1 or later
  • Intel FPGA SDK for OpenCL v16.1 or later
  • Board package: must be compatible with Network Reference Platform
  • On Linux: GNU Make and gcc

To download the Intel design tools, visit the OpenCL download page. Only the Linux operating system is supported by this design example.

Specialized hardware may be required to achieve 10G link saturation in the host system. The following combination of hardware has been tested to achieve 10G saturation:

  • Solarflare SFN5122F Ethernet card
  • 2X Avago AFBR-709SMZ transceivers
  • Mellanox MAM1Q00A-QSA adapters
  • Add-on add-lc-lc-15m5om3 fiber optic cable

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.

* Product is based on a published Khronos Specification, and has passed the Khronos Conformance Testing Process. Current conformance status can be found at www.khronos.org/conformance.