Affiliation:
1. Institute for Software Technology and Parallel Systems, University of Vienna, Liechtenstein Strasse 22, A‐1090 Vienna, Austria
Abstract
High Performance Fortran (HPF) offers an attractive high‐level language interface for programming scalable parallel architectures providing the user with directives for the specification of data distribution and delegating to the compiler the task of generating an explicitly parallel program. Available HPF compilers can handle regular codes quite efficiently, but dramatic performance losses may be encountered for applications which are based on highly irregular, dynamically changing data structures and access patterns. In this paper we introduce the Vienna Fortran Compiler (VFC), a new source‐to‐source parallelization system for HPF+, an optimized version of HPF, which addresses the requirements of irregular applications. In addition to extended data distribution and work distribution mechanisms, HPF+ provides the user with language features for specifying certain information that decisively influence a program’s performance. This comprises data locality assertions, non‐local access specifications and the possibility of reusing runtime‐generated communication schedules of irregular loops. Performance measurements of kernels from advanced applications demonstrate that with a high‐level data parallel language such as HPF+ a performance close to hand‐written message‐passing programs can be achieved even for highly irregular codes.
Subject
Computer Science Applications,Software
Cited by
26 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Sparso;Proceedings of the 2016 International Conference on Parallel Architectures and Compilation;2016-09-11
2. Automatic Exploration of Potential Parallelism in Sequential Applications;Lecture Notes in Computer Science;2014
3. Automatic Source Code Transformation for GPUs Based on Program Comprehension;Euro-Par 2011: Parallel Processing Workshops;2012
4. Agent-Supported Programming of Multicore Computing Systems;Complex Intelligent Systems and Their Applications;2010
5. Extending Automatic Parallelization to Optimize High-Level Abstractions for Multicore;Evolving OpenMP in an Age of Extreme Parallelism;2009