Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504348
B. Rodriguez, L. Hart, T. Henderson
In this paper we study the of issues of programmability and performance in the parallelization of weather prediction models. We compare parallelization using a high level library (the Nearest Neighbor Tool: NNT) and a high level language/directive approach (High Performance Fortran: HPF). We report on the performance of a complete weather prediction model (the Rapid Update Cycle, which is currently run operationally at the National Meteorological Center at Washington) coded using NNT. We quantify the performance effects of optimizations possible with NNT that must be performed by an HPF compiler.
{"title":"Comparing scalable programming techniques for weather prediction","authors":"B. Rodriguez, L. Hart, T. Henderson","doi":"10.1109/PMMPC.1995.504348","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504348","url":null,"abstract":"In this paper we study the of issues of programmability and performance in the parallelization of weather prediction models. We compare parallelization using a high level library (the Nearest Neighbor Tool: NNT) and a high level language/directive approach (High Performance Fortran: HPF). We report on the performance of a complete weather prediction model (the Rapid Update Cycle, which is currently run operationally at the National Meteorological Center at Washington) coded using NNT. We quantify the performance effects of optimizations possible with NNT that must be performed by an HPF compiler.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123102365","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504343
T. Ruhl, H. Bal
Functions that invoke operations on multiple objects atomically are a useful extension of object-based parallel languages, such as Orca. This paper introduces atomic functions and shows how compile-time information can drive run-time optimizations of such functions.
{"title":"Optimizing atomic functions using compile-time information","authors":"T. Ruhl, H. Bal","doi":"10.1109/PMMPC.1995.504343","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504343","url":null,"abstract":"Functions that invoke operations on multiple objects atomically are a useful extension of object-based parallel languages, such as Orca. This paper introduces atomic functions and shows how compile-time information can drive run-time optimizations of such functions.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131512150","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504355
M. Chakravarty, F. Schroer, M. Simons
This paper describes the integration of nested data parallelism into imperative languages using the example of C. Unlike flat data parallelism, nested data parallelism directly provides means for handling irregular data structures and certain forms of control parallelism, such as divide-and-conquer algorithms, thus enabling the programmer to express such algorithms far more naturally. Existing work deals with nested data parallelism in a functional environment, which does help avoid a set of problems, but makes efficient implementations more complicated. Moreover functional languages are not readily accepted by programmers used to languages, such as Fortran and C, which are currently predominant in programming parallel machines. In this paper, we introduce the imperative data-parallel language V and give an overview of its implementation.
{"title":"V-nested parallelism in C","authors":"M. Chakravarty, F. Schroer, M. Simons","doi":"10.1109/PMMPC.1995.504355","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504355","url":null,"abstract":"This paper describes the integration of nested data parallelism into imperative languages using the example of C. Unlike flat data parallelism, nested data parallelism directly provides means for handling irregular data structures and certain forms of control parallelism, such as divide-and-conquer algorithms, thus enabling the programmer to express such algorithms far more naturally. Existing work deals with nested data parallelism in a functional environment, which does help avoid a set of problems, but makes efficient implementations more complicated. Moreover functional languages are not readily accepted by programmers used to languages, such as Fortran and C, which are currently predominant in programming parallel machines. In this paper, we introduce the imperative data-parallel language V and give an overview of its implementation.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129448705","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504340
J. Dennis
Functional programming languages are well suited to the expression and automatic mapping of parallel computations. The Paradigm compiler is being developed to automatically analyze and snap a class of Sisal programs amenable to static analysis for execution by distributed computer systems. A program description tree is constructed to represent the source program. In this form, the program is transformed into a hierarchy of acyclic interconnections of program modules (code blocks) of two basic types: array generators and stream producers. The program description tree is then used to guide decisions about allocation of processing elements to code blocks, and to construct of code for a target multiprocessor. We discuss the problem of finding an optimal allocation (mapping), and illustrate the methodology using a practical signal processing example.
{"title":"Automatic mapping of stream-processing functional programs","authors":"J. Dennis","doi":"10.1109/PMMPC.1995.504340","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504340","url":null,"abstract":"Functional programming languages are well suited to the expression and automatic mapping of parallel computations. The Paradigm compiler is being developed to automatically analyze and snap a class of Sisal programs amenable to static analysis for execution by distributed computer systems. A program description tree is constructed to represent the source program. In this form, the program is transformed into a hierarchy of acyclic interconnections of program modules (code blocks) of two basic types: array generators and stream producers. The program description tree is then used to guide decisions about allocation of processing elements to code blocks, and to construct of code for a target multiprocessor. We discuss the problem of finding an optimal allocation (mapping), and illustrate the methodology using a practical signal processing example.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"30 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122474706","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504354
A. Schramm
Parallel computers with distributed memory are gaining popularity on account of their optimal scalability. However, their efficient use requires a locality-preserving mapping of the application's underlying graph structure onto the physical topology of the target platform. PROMOTER is a parallel programming model which supports an automatic mapping by the compiler by making the graph structures explicit and thus processable by the implementation. This article describes how this is done for applications with irregular and dynamic spatial structures.
{"title":"Irregular applications in PROMOTER","authors":"A. Schramm","doi":"10.1109/PMMPC.1995.504354","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504354","url":null,"abstract":"Parallel computers with distributed memory are gaining popularity on account of their optimal scalability. However, their efficient use requires a locality-preserving mapping of the application's underlying graph structure onto the physical topology of the target platform. PROMOTER is a parallel programming model which supports an automatic mapping by the compiler by making the graph structures explicit and thus processable by the implementation. This article describes how this is done for applications with irregular and dynamic spatial structures.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127350068","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1995-10-09DOI: 10.1109/PMMPC.1995.504335
W. Gropp, E. Lusk
The basic processing element, from PCs to large systems, is rapidly becoming a symmetric multiprocessor (SMP). As a result, the nodes of a parallel computer will often be an SMP. The resulting mixed hardware models (combining shared-memory and distributed memory) provide a challenge to system software developers to provide users with programming models that are portable, understandable, and efficient. This paper describes and compares a variety of programming models for a parallel computer made up of SMP nodes.
{"title":"A taxonomy of programming models for symmetric multiprocessors and SMP clusters","authors":"W. Gropp, E. Lusk","doi":"10.1109/PMMPC.1995.504335","DOIUrl":"https://doi.org/10.1109/PMMPC.1995.504335","url":null,"abstract":"The basic processing element, from PCs to large systems, is rapidly becoming a symmetric multiprocessor (SMP). As a result, the nodes of a parallel computer will often be an SMP. The resulting mixed hardware models (combining shared-memory and distributed memory) provide a challenge to system software developers to provide users with programming models that are portable, understandable, and efficient. This paper describes and compares a variety of programming models for a parallel computer made up of SMP nodes.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116836656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}