Pages

Sunday, September 11, 2016

MetaMoprh

"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.

We realize MetaMorph2 as a layered library of libraries. Each tier implements one of the core principles of abstraction, interoperability, and adaptivity. The top-level user APIs and platform-specific back-ends exists as separate shared library objects, with interfaces designated in shared header files. Primarily, this encapsulation supports custom tuning of backends to a specific device or class of devices.   In addition, it allows back-ends to be separately used, distributed, compiled, or even completely rewritten, without interference with the other components.

The core API, library infrastructure and communication interface are written in standard C for portability and performance. Individual accelerator back-ends are generated in C with OpenMP and optional SIMD extensions (for CPU and Intel MIC), CUDA C/C++ (NVIDIA GPUs), and C++ with OpenCL (AMD GPUs/APUs and other devices). In addition, a wrapper around the top-level API is written in polymorphic Fortran 2003 to simplify interoperability with Fortran applications prevalent in some fields of scientific computing."

http://synergy.cs.vt.edu/

https://github.com/vtsynergy/MetaMorph

MetaMorph: A Library Framework for Interoperable Kernels on Multi- and Many-core Clusters - http://hgpu.org/?p=16446

No comments:

Post a Comment