  It is now a noticeable trend in High Performance Computing that the systems
are becoming more and more heterogeneous. Compute nodes with a host CPU are
being equipped with accelerators, the latter being a GPU or FPGA cards or both.
In many cases at the heart of scientific applications running on such systems
are iterative linear solvers. In this work we present a software package which
includes an FPGA implementation of the Conjugate Gradient algorithm using a
particular problem of the Dirac-Wilson operator as encountered in numerical
simulations of Quantum Chromodynamics. The software is written in OpenCL and
C++ and is optimized for maximal performance. Our framework allows for a simple
implementation of other linear operators, while keeping the data transport
mechanisms unaltered. Hence, our software can serve as a backbone for many
applications which are expected to gain a significant boost factor on FPGA
accelerators. As such systems are expected to become more and more widespread,
the need for highly performant FPGA implementations of the Conjugate Gradient
algorithm and its variants will certainly increase and the porting investment
can be greatly facilitated by the attached code.
