(CCF-1910488): SHF:Small:WHole-application Coordinated Parallelization Through The OPtimization Of Abstraction Hierarchies.


  • Total amount : $499510
  • Period : 10/01/19 - 09/30/22
  • Priciple investigator: Qing Yi
  • co-investigators: none
  • Students supported: Brandon Nesterenko and Jiange Zhang
  • Project Summary : This research develops new compiler techniques to automatically enhance the whole-program level paral- lelization and computation efficiency of large software applications, thereby simultaneously enhancing their productivity, correctness assurance, performance, and hardware portability. The key technical insight is that the abstraction hierarchy of a large application can often be automatically detected based on the function call and data sharing relations among different subroutines, without requiring all the application source code being made available. After thus overcoming one of the biggest obstacles that prevent compilers from ef- fectively understanding a large application, abstraction-level program analysis techniques can be developed to automatically discover higher-level semantics of user-defined abstractions and to isolate algorithm-level structures and logistics from their lower-level implementations, specifically data structure representations and local implementation details of computation kernels. Pattern-driven analysis can then be developed to automatically discover a whole-application task graph, and coordinated optimizations can be applied across abstraction boundaries to maximize overall application efficiency. A uniform interface will be designed to concisely document the higher-level semantics of abstractions. Empirical performance tuning will be used to support the performance portability of applications on a variety of modern computing platforms.

    The proposed optimization approach is aligned with the object-oriented design princi- ples in modern software engineering and therefore is expected to significantly benefit a large collection of modern software, by enabling them to automatically explore alternative parallelization and data structure designs for better performance, maintainability, and hardware portability. The best-of-practice in parallel programming as well as concurrent data structure and algorithm design will be systematically integrated and made automatically available to software applications at large, significantly enhancing their collective effectiveness. The new optimization toolset will be made freely available for public use, with a web-based graphical user interface that allows users to interactively invoke the various analysis and optimization com- ponents to improve the efficiency of their applications.

  • Selected Publications


    Open-source software: The POET program transformation language

    Software download, manuals, and tutorials

    going back to the main research page