Accelerating Compute-Intensive Applications with GPUs and FPGAs