Performance Tuning Of Scientific Applications

Download Performance Tuning Of Scientific Applications PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Performance Tuning Of Scientific Applications book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Performance Tuning of Scientific Applications

With contributions from some of the most notable experts in the field, Performance Tuning of Scientific Applications presents current research in performance analysis. The book focuses on the following areas.Performance monitoring: Describes the state of the art in hardware and software tools that are commonly used for monitoring and measuring perf
Goal-directed Performance Tuning for Scientific Applications

Abstract: "Performance tuning, as carried out by compiler designers and application programmers to close the performance gap between the achievable peak and delivered performance, becomes increasingly important and challenging as the microprocessor speeds and system sizes increase. However, although performance tuning on scientific codes usually deals with relatively small program regions, it is not generally known how to establish a reasonable performance objective and how to efficiently achieve this objective. We suggest a goal-directed approach and develop such an approach for each of three major system performance components: central processor unit (CPU) computation, memory accessing, and communication. For the CPU, we suggest using a machine-application performance model that characterizes workloads on four key function units (memory, floating-point, issue, and a virtual 'dependence unit') to produce an upper bound performance objective, and derive a mechanism to approach this objective. A case study shows an average 1.79x speedup achieved by using this approach for the Livermore Fortran Kernels 1-12 running on the IBM RS/6000. For memory, as compulsory and capacity misses are relatively easy to characterize, we derive a method for building application-specific cache behavior models that report the number of misses for all three types of conflict misses: self, cross, and ping-pong. The method uses averaging concepts to determine the expected number of cache misses instead of attempting to count them exactly in each instance, which provides a more rapid, yet realistic assessment of expected cache behavior. For each type of conflict miss, we propose a reduction method that uses one or a combination of three techniques based on modifying or exploiting data layout: array padding, initial address adjustment, and access resequencing. A case study using a blocked matrix multiply program as an example shows that the model is within 11% of the simulation results, and that each type of conflict miss can be effectively reduced or completely eliminated. For communication in shared memory parallel systems, we derive an array grouping mechanism and related loop transformations to reduce communication caused by the problematic case of nonconsecutive references to shared arrays and prove several theorems that determine when and where to apply this technique. The experimental results show a 15% reduction in communication, a 40% reduction in data subcache misses, and an 18% reduction in maximum user time for a finite element application on a 56 processor KSR1 parallel computer."
Introduction to Elementary Computational Modeling

With an emphasis on problem solving, this book introduces the basic principles and fundamental concepts of computational modeling. It emphasizes reasoning and conceptualizing problems, the elementary mathematical modeling, and the implementation using computing concepts and principles. Examples are included that demonstrate the computation and visualization of the implemented models. The author provides case studies, along with an overview of computational models and their development. The first part of the text presents the basic concepts of models and techniques for designing and implementing problem solutions. It applies standard pseudo-code constructs and flowcharts for designing models. The second part covers model implementation with basic programming constructs using MATLAB®, Octave, and FreeMat. Aimed at beginning students in computer science, mathematics, statistics, and engineering, Introduction to Elementary Computational Modeling: Essential Concepts, Principles, and Problem Solving focuses on fundamentals, helping the next generation of scientists and engineers hone their problem solving skills.