Understanding the Impact of Hybrid Programming on Software Energy Efficiency
MetadataShow full metadata
High performance computing systems today are heterogeneous in nature with multiple CPUs and accelerators/coprocessors in each computing node. The majority of today's programs only utilize single computing components (e.g. a CPU, GPU or Xeon Phi) while leaving other components idle (e.g. waiting for the results to be calculated). This may not be optimal for either performance or energy efficiency. Hybrid computing can solve this problem. Employing multiple device types can create more computing power on the platform, but can also create unexpected and unintended issues and challenges due to potential complex interactions of software and hardware. This thesis investigates the impact of hybrid computing on the performance and energy-efficiency of parallel applications, provides a guideline for hybrid work division, and develops a model to predict optimal performance or energy-efficiency.