An OpenCL Framework for Distributed Apps on a Multidimensional Network of FPGAs