Heterogeneous computing systems integrate diverse processing elements—including central processing units (CPUs), graphics processing units (GPUs) and field-programmable gate arrays (FPGAs)—within a ...