MetaMorph: A Library Framework for Interoperable Kernels on Multi- and Many-Core Clusters

TR Number
Date
2016-11-15
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

To attain scalable performance efficiently, the HPC community expects future exascale systems to consist of multiple nodes, each with different types of hardware accelerators. In addition to GPUs and Intel MICs, additional candidate accelerators include embedded multiprocessors and FPGAs. End users need appropriate tools to efficiently use the available compute resources in such systems, both within a compute node and across compute nodes. As such, we present MetaMorph, a library framework designed to (automatically) extract as much computational capability as possible from HPC systems. Its design centers around three core principles: abstraction, interoperability, and adaptivity. To demonstrate its efficacy, we present a case study that uses the structured grids design pattern, which is heavily used in computational fluid dynamics. We show how MetaMorph significantly reduces the development time, while delivering performance and interoperability across an array of heterogeneous devices, including multicore CPUs, Intel MICs, AMD GPUs, and NVIDIA GPUs.

Description
Keywords
Libraries, Hardware, Interoperability, Kernel, Performance Evaluation, Exascale, Parallel Libraries, Performance Portability, Programmability, Accelerators, GPU, MIC, CUDA, OpenCL, OpenMP, MPI, Structured Grids
Citation