Abstract
This paper describes an abstract language called HTGL used to model the parallel structure and behavior of programs. These abstract models can be used as input to simulators and analysis tools for more accurate simulation than analytic or queueing models, without the unnecessary burden of compiling actual programs. It can also be used as a rapid software prototyping tool, for easily measuring the inherent parallelism in a parallel algorithm prior to actual coding, or for implementing certain compiler optimizations on the simplified data structures of the abstract language. Source code is publicly available and includes a reusable software library.
- [1] Carl Josef Beckmann. Hardware and Software for Functional and Fine Grain Parallelism. PhD thesis, University of Illinois at Urbane-Champaign, Center for Supercomputing Research and Development, September 1993.Google Scholar
- [2] M. Berry, D. Chen, P. Koss, D. Kuck, et al. The Perfect Club benchmarks: Effective performance evaluation of supercomputers. International Journal of Supercomputing Applications , 3(3):5-40, Fall 1989.Google ScholarDigital Library
- [3] Ron G. Cytron. DOACROSS: Beyond vectorization for multiprocessors (extended abstract). In Proceedings 1986 International Conference on Parallel Processing, pages 836-844, St. Charles, IL, August 1986.Google Scholar
- [4] Constantine D. Polychronopoulos, Milind Girkar, Mohammad Haghighat, Chin-Ling Lee, Bruce Leung, and Dale Schouten. Parafrase-2: An environment for parallelizing, partitioning, synchronizing, and scheduling programs on multiprocessors. In Proceedings 1989 International Conference on Parallel Processing, volume II, pages 39-48, 1989.Google ScholarDigital Library
- [5] B. Ramakrishna Rau, Christopher D. Glaeser, and Raymond L. Picard. Efficient code generation for horizontal architectures: Compiler techniques and architectural support. In Proceedings of the 9th International Symposium on Computer Architecture, pages 131-139, 1982. Google ScholarDigital Library
- [6] M. Wolfe. The tiny loop restructuring research tool. In Proceedings of the 1991 International Conference on Parallel Processing, volume II, pages 46-53, St. Charles, IL, August 1991.Google Scholar
Index Terms
- HTGL: a program modelling language
Recommendations
Layout-sensitive language extensibility with SugarHaskell
Haskell '12: Proceedings of the 2012 Haskell SymposiumProgrammers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12Programmers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Languages as libraries
PLDI '11Programming language design benefits from constructs for extending the syntax and semantics of a host language. While C's string-based macros empower programmers to introduce notational shorthands, the parser-level macros of Lisp encourage ...
Comments