FPGA; GPU; Hardware Accelerators; Heterogeneous Computing; High-Performance Computing; Power Management; Programming Models; Thermal Management