Software
Maxeler high-performance dataflow computing systems are fully programmable using the general-purpose MaxCompiler programming tool suite and high-level, domain-optimized MaxGen tools. MaxCompiler for General-Purpose ProgrammingAn accelerated application with Maxeler technology is split into three parts:
MaxCompiler includes tools to support all three steps: the Kernel Compiler, the Manager Compiler and a software run-time (accessible from C or Fortran) for bridging between hardware and software.
Programmers develop kernels by writing programs in Java. However, using the tools requires only minimal familiarity with Java. The compiler transforms the kernels into low-level hardware and generates a hardware dataflow implementation (the .max file) which the developer can link into their host application using the standard GNU development tool chain. MaxCompiler provides complete support for debugging during the development cycle, including a high-speed simulator for verifying code correctness before generating a hardware implementation and the MaxDebug tool for examining the state of running chips. MaxGen for Domain-Optimized ProgrammingMaxeler MaxGen systems are domain-specific compilers that enable programmers to easily harness the full power of Maxeler solutions without needing a detailed understanding of the underlying hardware.
MaxGenFD, for 3D finite difference applications, enables geoscientists to engage in rapid development of accelerated seismic processing applications such as Forward Modeling, Reverse Time Migration and Waveform Inversion. MaxGenFD handles the complexities facing any finite difference implementation such as managing very large data sets, boundary conditions and domain decomposition across multiple compute elements with halo exchange. In addition, the compiler removes the need for the geoscience programmer to perform FPGA-specific optimizations such as customizing data-types and generating optimized stencil descriptions for hardware. |