| For the lazy like me: "GRVI Phalanx aspires to make it easier to develop and
maintain an FPGA accelerator for a parallel software workload.
Some workloads will fit its mold, i.e. highly parallel SPMD or
MIMD code with small kernels, local shared memory, and
global message passing. Here are some parallel models that
should map fairly well to a GRVI Phalanx framework: • OpenCL kernels: run each work group on a cluster; • ‘Gatling gun’ parallel packet processing: send each new
packet to an idle cluster, which may exclusively work
on that packet for up to (#clusters) packet-time-periods. • OpenMP/TBB: run MIMD tasks within a cluster; • Streaming data through process networks: pass streams
as messages within a cluster, or between clusters; • Compositions of such models. Since GRVI Phalanx is implemented in an FPGA, these
and other parallel models may then be further accelerated via
custom GRVI and cluster function units; custom memories and
interconnects; and custom standalone accelerator cores on
cluster RAM or directly connected on the NOC." |