Scientific Libraries: Difference between revisions
From Modelado Foundation
imported>Dquinlan No edit summary |
imported>Dquinlan (DTEC specific edit) |
||
Line 44: | Line 44: | ||
|(TG) | |(TG) | ||
|(DEGAS) | |(DEGAS) | ||
|(D-TEC) | |(D-TEC) Our research work supports more of how to build the compiler support for programming models than a focus on a specific DSL or programming model. However, specific work relative to MPI is leveraging MPI semantics to rewrite application code to better overlap communication and computation. This is done a one of many building blocks from which to construct DSLs that would implement a specific programming model. | ||
|(DynAX) | |(DynAX) | ||
|(X-TUNE) | |(X-TUNE) |
Revision as of 15:43, May 9, 2014
Sonia requested that Milind Kulkarni initiate this page. For comments, please contact Milind.
QUESTIONS | XPRESS | TG X-Stack | DEGAS | D-TEC | DynAX | X-TUNE | GVR | CORVETTE | SLEEC | PIPER |
---|---|---|---|---|---|---|---|---|---|---|
PI | Ron Brightwell | Shekhar Borkar | Katherine Yelick | Daniel Quinlan | Guang Gao | Mary Hall | Andrew Chien | Koushik Sen | Milind Kulkarni | Martin Schulz |
Describe how you expect to target (optimize/analyze) applications written using existing computational libraries | Libraries written in MPI with C will run on XPRESS systems using UH libraries combined with ParalleX XPI/HPX interoperability interfaces. It is expected that future or important libraries will be developed employing new execution methods/interfaces | (TG) | (DEGAS) | (D-TEC) Where appropriate library abstractions will be provided with compiler support (typically for finer granularity abstractions at an expression or statement level). Source-to-source transformations will rewrite the code to leverage abstraction semantics and program analysis used to identify the restricted contexts to support the generation of the most efficient code. Fundamentally, libraries can't see how their abstractions are used within an application were as the compiler can do so readily and use such information to generate tailored code. | (DynAX) | (X-TUNE) | (GVR) | (CORVETTE) | SLEEC | Support optimization efforts with tools that can capture some of the internal semantics of a given library (e.g., levels of multigrid V cycle or patches in an AMR library) |
Many computational libraries (e.g., Kokkos in Trilinos) provide support for managing data distribution and communication. Describe how your project targets applications that use such libraries. | This issue is unresolved | (TG) | (DEGAS) | (D-TEC) We expect to leverage existing libraries and runtime systems (most commonly implemented as libraries) as needed. The X10 runtime system will be used, for example, to abstract communication between distributed memory processors. Other communication libraries (e.g. MPI) are being use to both simplify the generation of code by the compiler and leverage specific semantics that can, with program analysis, be used to rewrite application code to make it more efficient and/or leverage specific Exascale hardware features. | (DynAX) | (X-TUNE) | (GVR) | (CORVETTE) | N/A | PIPER will provide stack wide instrumentation to facilitate optimization - access to internal information only known to the library should be exported to tools through appropriate APIs (preferably through similar and interoperable APIs) |
If your project aims to develop new programming models, describe any plans to integrate existing computational libraries into the model, or how you will transition applications written using such libraries to your model. | Low-level system oriented libraries such as STDIO will be employed by the LXK and HPX systems among others. No scientific libraries per say will be built in the systems as intrinsics below the compiler level. Over time many libraries will be ported to the ParalleX model for dramatic improvements in efficiency and scalability. | (TG) | (DEGAS) | (D-TEC) Our research work supports more of how to build the compiler support for programming models than a focus on a specific DSL or programming model. However, specific work relative to MPI is leveraging MPI semantics to rewrite application code to better overlap communication and computation. This is done a one of many building blocks from which to construct DSLs that would implement a specific programming model. | (DynAX) | (X-TUNE) | (GVR) | (CORVETTE) | N/A | N/A |
What sorts of properties (semantics of computation, information about data usage, etc.) would you find useful to your project if captured by computational libraries? | Libraries crafted in a form that eliminated global barriers, worked on globally addressed objects, and exploited message driven computation would greatly facilitate the porting of conventional rigid models to future dynamic adaptive and scalable models such as the ParalleX based methods. | (TG) | (DEGAS) | (D-TEC) Libraries should present simple user level API's with clear semantics. A relatively course level of granularity of semantics is required to avoid library use from contributing to abstraction penalties. Appropriate properties for libraries are data handling specific to Adaptive Mesh Refinement, data management associated with many-core optimizations, etc. Actual use or fine-grain access of data abstractions via libraries can be a problem for general purpose compilers to optimize. | (DynAX) | (X-TUNE) | (GVR) | (CORVETTE) | N/A | Attribution information about internal data structures (e.g., data distributions, patch information for AMR) as well as phase/time slice information |