HiPEACinfo 66

Page 32

Open-source technologies

OOPS I DID IT AGAIN: PRODUCTIVE FPGA PROGRAMMING WITH OPTIMA’S OPEN-SOURCE LIBRARY Panagiotis Miliadis, Chloe Alverti, Dimitris Theodoropoulos

Leveraging the device vendor runtime layer, OOPS kernels will

and Dionisios Pnevmatikatos, Institute of Communication

transfer data from the host processor to the hardware kernels,

and Computer Systems, National Technical University of

initiate and monitor data processing and send output results back

Athens

to the application layer. The OOPS library set will implement a large subset of the basic linear algebra subprograms (BLAS), the

Field-programmable

gate

significantly

performance

provide

building blocks for standard matrix and vector operations. It will

processors

also implement a sparse matrix-vector (SpMV) multiplication

when executing certain high-performance computing (HPC)

kernel and a subset of the Portable, Extensible Toolkit for

applications. However, the difficulties in programming,

Scientific Computation (PETSc) suite.

higher

arrays

(FPGAs) than

can

other

interconnecting and handling them are well known. OOPS will expose a standard C-based application programming To address this problem, the EuroHPC JU OPTIMA project is

interface (API) in the form of function prototypes towards

developing open-source libraries for FPGA-based HPC systems

the application layer, meaning that developers will be able to

to deliver a significantly higher performance-to-energy ratio

integrate the library simply by including its API header in their

than that in existing HPC systems, including those made up

software code. OOPS can easily be integrated or combined

of low-power central processing units (CPUs) like ARM and

with existing frameworks, such as Parallelware, developed by

/ or graphics processing units (GPUs). In addition, OPTIMA

Appentra, or GASPI, created by Fraunhofer. Other widely used

will provide guidelines and open-source reference designs,

programming languages like Python will also be evaluated.

eventually allowing third parties to port applications to FPGAbased platforms in a similar way to porting to systems using

Next steps

GPUs and / or manycores today.

OPTIMA will shortly publish a repository containing:

The OPTIMA OPen Source (OOPS) library will provide optimized software routines for a range of key operations in scientific and industrial applications, including vector operations, linear and differential equations, and matrix multiplications. OOPS will dramatically reduce the effort of mapping primitive

• hardware implementation of the supported kernels • host processor helper routines for easy deployment onto the FPGA • example projects with instructions on how developers can use the OOPS library

computational kernels onto OPTIMA’s reconfigurable logic,

OPTIMA will adopt a continuous integration / continuous

leading to faster execution time and improved energy efficiency.

deployment (CI / CD) approach for continuous updates and

The library will be integrated into the OPTIMA toolflow (see

maintenance of the library, to ensure computer-aided design

figure below), enabling seamless utilization of the available

(CAD) tool compatibility and FPGA device support, as well as

hardware resources by software developers.

optimal performance with respect to the available resources.

FURTHER INFORMATION:

OPTIMA website BLAS

optima-h2020-eu

netlib.org/blas

Balay S., Gropp W.D., McInnes L.C., Smith B.F. (1997) ‘Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries’. In: Arge E., Bruaset A.M., Langtangen H.P. (eds) Modern Software Tools for Scientific Computing. Birkhäuser, Boston, MA. OPTIMA has received funding from the EuroHPC JU under grant agreement no. 955739. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and OOPS intercommunication with the OPTIMA toolflow

32 HiPEACINFO 66

Greece, Germany, Italy, the Netherlands, Spain and Switzerland.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.