Throughput Optimization with Design Space Exploration During Partitioning for Multi-FPGA Architectures