Automatic Performance Prediction of Parallel Programs

Automatic Performance Prediction of Parallel Programs

Author: Thomas Fahringer

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 279

ISBN-13: 1461313716

DOWNLOAD EBOOK

Automatic Performance Prediction of Parallel Programs presents a unified approach to the problem of automatically estimating the performance of parallel computer programs. The author focuses primarily on distributed memory multiprocessor systems, although large portions of the analysis can be applied to shared memory architectures as well. The author introduces a novel and very practical approach for predicting some of the most important performance parameters of parallel programs, including work distribution, number of transfers, amount of data transferred, network contention, transfer time, computation time and number of cache misses. This approach is based on advanced compiler analysis that carefully examines loop iteration spaces, procedure calls, array subscript expressions, communication patterns, data distributions and optimizing code transformations at the program level; and the most important machine specific parameters including cache characteristics, communication network indices, and benchmark data for computational operations at the machine level. The material has been fully implemented as part of P3T, which is an integrated automatic performance estimator of the Vienna Fortran Compilation System (VFCS), a state-of-the-art parallelizing compiler for Fortran77, Vienna Fortran and a subset of High Performance Fortran (HPF) programs. A large number of experiments using realistic HPF and Vienna Fortran code examples demonstrate highly accurate performance estimates, and the ability of the described performance prediction approach to successfully guide both programmer and compiler in parallelizing and optimizing parallel programs. A graphical user interface is described and displayed that visualizes each program source line together with the corresponding parameter values. P3T uses color-coded performance visualization to immediately identify hot spots in the parallel program. Performance data can be filtered and displayed at various levels of detail. Colors displayed by the graphical user interface are visualized in greyscale. Automatic Performance Prediction of Parallel Programs also includes coverage of fundamental problems of automatic parallelization for distributed memory multicomputers, a description of the basic parallelization strategy and a large variety of optimizing code transformations as included under VFCS.


Automatic Parallelization

Automatic Parallelization

Author: Christoph W. Kessler

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 235

ISBN-13: 3322878651

DOWNLOAD EBOOK

Distributed-memory multiprocessing systems (DMS), such as Intel's hypercubes, the Paragon, Thinking Machine's CM-5, and the Meiko Computing Surface, have rapidly gained user acceptance and promise to deliver the computing power required to solve the grand challenge problems of Science and Engineering. These machines are relatively inexpensive to build, and are potentially scalable to large numbers of processors. However, they are difficult to program: the non-uniformity of the memory which makes local accesses much faster than the transfer of non-local data via message-passing operations implies that the locality of algorithms must be exploited in order to achieve acceptable performance. The management of data, with the twin goals of both spreading the computational workload and minimizing the delays caused when a processor has to wait for non-local data, becomes of paramount importance. When a code is parallelized by hand, the programmer must distribute the program's work and data to the processors which will execute it. One of the common approaches to do so makes use of the regularity of most numerical computations. This is the so-called Single Program Multiple Data (SPMD) or data parallel model of computation. With this method, the data arrays in the original program are each distributed to the processors, establishing an ownership relation, and computations defining a data item are performed by the processors owning the data.


Compiler Optimizations for Scalable Parallel Systems

Compiler Optimizations for Scalable Parallel Systems

Author: Santosh Pande

Publisher: Springer

Published: 2003-06-29

Total Pages: 783

ISBN-13: 3540454039

DOWNLOAD EBOOK

Scalable parallel systems or, more generally, distributed memory systems offer a challenging model of computing and pose fascinating problems regarding compiler optimization, ranging from language design to run time systems. Research in this area is foundational to many challenges from memory hierarchy optimizations to communication optimization. This unique, handbook-like monograph assesses the state of the art in the area in a systematic and comprehensive way. The 21 coherent chapters by leading researchers provide complete and competent coverage of all relevant aspects of compiler optimization for scalable parallel systems. The book is divided into five parts on languages, analysis, communication optimizations, code generation, and run time systems. This book will serve as a landmark source for education, information, and reference to students, practitioners, professionals, and researchers interested in updating their knowledge about or active in parallel computing.


Supercomputing Research Advances

Supercomputing Research Advances

Author: Yongge Huáng

Publisher: Nova Publishers

Published: 2008

Total Pages: 448

ISBN-13: 9781604561869

DOWNLOAD EBOOK

Supercomputers are used for highly calculation-intensive tasks such as problems involving quantum mechanical physics, weather forecasting, climate research (including research into global warming), molecular modelling (computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals), physical simulations (such as simulation of aeroplanes in wind tunnels, simulation of the detonation of nuclear weapons, and research into nuclear fusion), cryptanalysis, and the like. Major universities, military agencies and scientific research laboratories are heavy users. This book presents the latest research in the field from around the world.


Input/Output Intensive Massively Parallel Computing

Input/Output Intensive Massively Parallel Computing

Author: Peter Brezany

Publisher: Springer Science & Business Media

Published: 1997-04-09

Total Pages: 318

ISBN-13: 9783540628408

DOWNLOAD EBOOK

Massively parallel processing is currently the most promising answer to the quest for increased computer performance. This has resulted in the development of new programming languages and programming environments and has stimulated the design and production of massively parallel supercomputers. The efficiency of concurrent computation and input/output essentially depends on the proper utilization of specific architectural features of the underlying hardware. This book focuses on development of runtime systems supporting execution of parallel code and on supercompilers automatically parallelizing code written in a sequential language. Fortran has been chosen for the presentation of the material because of its dominant role in high-performance programming for scientific and engineering applications.


Languages and Compilers for Parallel Computing

Languages and Compilers for Parallel Computing

Author: Chua-Huang Huang

Publisher: Springer Science & Business Media

Published: 1996-01-24

Total Pages: 618

ISBN-13: 9783540607656

DOWNLOAD EBOOK

This book presents the refereed proceedings of the Eighth Annual Workshop on Languages and Compilers for Parallel Computing, held in Columbus, Ohio in August 1995. The 38 full revised papers presented were carefully selected for inclusion in the proceedings and reflect the state of the art of research and advanced applications in parallel languages, restructuring compilers, and runtime systems. The papers are organized in sections on fine-grain parallelism, interprocedural analysis, program analysis, Fortran 90 and HPF, loop parallelization for HPF compilers, tools and libraries, loop-level optimization, automatic data distribution, compiler models, irregular computation, object-oriented and functional parallelism.


Massively Parallel Processing Applications and Development

Massively Parallel Processing Applications and Development

Author: L. Dekker

Publisher: Elsevier

Published: 2013-10-22

Total Pages: 996

ISBN-13: 1483290433

DOWNLOAD EBOOK

The contributions of a diverse selection of international hardware and software specialists are assimilated in this book's exploration of the development of massively parallel processing (MPP). The emphasis is placed on industrial applications and collaboration with users and suppliers from within the industrial community consolidates the scope of the publication. From a practical point of view, massively parallel data processing is a vital step to further innovation in all areas where large amounts of data must be processed in parallel or in a distributed manner, e.g. fluid dynamics, meteorology, seismics, molecular engineering, image processing, parallel data base processing. MPP technology can make the speed of computation higher and substantially reduce the computational costs. However, to achieve these features, the MPP software has to be developed further to create user-friendly programming systems and to become transparent for present-day computer software. Application of novel electro-optic components and devices is continuing and will be a key for much more general and powerful architectures. Vanishing of communication hardware limitations will result in the elimination of programming bottlenecks in parallel data processing. Standardization of the functional characteristics of a programming model of massively parallel computers will become established. Then efficient programming environments can be developed. The result will be a widespread use of massively parallel processing systems in many areas of application.


Languages and Compilers for Parallel Computing

Languages and Compilers for Parallel Computing

Author: Larry Carter

Publisher: Springer

Published: 2003-06-29

Total Pages: 511

ISBN-13: 3540449051

DOWNLOAD EBOOK

In August 1999, the Twelfth Workshop on Languages and Compilers for P- allel Computing (LCPC) was hosted by the Hierarchical Tiling Research group from the Computer Science and Engineering Department at the University of California San Diego (UCSD). The workshop is an annual international forum for leading research groups to present their current research activities and the latest results. It has also been a place for researchers and practitioners to - teract closely and exchange ideas about future directions. Among the topics of interest to the workshop are language features, code generation, debugging, - timization, communication and distributed shared memory libraries, distributed object systems, resource management systems, integration of compiler and r- time systems, irregular and dynamic applications, and performance evaluation. In 1999, the workshop was held at the International Relations/Paci c Studies Auditorium and the San Diego Supercomputer Center at UCSD. Seventy-seven researchers from Australia, England, France, Germany, Korea, Spain, and the United States attended the workshop, an increase of over 50% from 1998.