Software, Environments, and Tools

ยท ยท ยท ยท ยท ยท ยท ยท
Latest release: October 30, 2020
Series
23
Books

About this ebook series

This book provides an introduction to computer benchmarking. Hockney includes material concerned with the definition of performance parameters and metrics and defines a set of suitable metrics with which to measure performance and units with which to express them. He also presents new ideas resulting from the application of dimensional analysis to the field of computer benchmarking. This results in the definition of a dimensionless universal scaling diagram that completely describes the scaling properties of a class of computer benchmarks on a single diagram, for all problem sizes and all computers describable by a defined set of hardware parameters.
The Science of Computer Benchmarking
Book 2 ยท Jan 1996 ยท
4.0
This book provides an introduction to computer benchmarking. Hockney includes material concerned with the definition of performance parameters and metrics and defines a set of suitable metrics with which to measure performance and units with which to express them. He also presents new ideas resulting from the application of dimensional analysis to the field of computer benchmarking. This results in the definition of a dimensionless universal scaling diagram that completely describes the scaling properties of a class of computer benchmarks on a single diagram, for all problem sizes and all computers describable by a defined set of hardware parameters.
Applications on Advanced Architecture Computers
Book 3 ยท Jan 1996 ยท
5.0
This volume conveniently brings together updated versions of 30 articles that originally appeared in SIAM News from 1990 to 1995. The objective of the column from which the articles are taken is to present applications that have been successfully treated on advanced architecture computers. Astfalk edits this popular series of articles in SIAM's flagship publication, SIAM News. Algorithmic issues addressed are those which have found general use in building parallel codes for solving problems. In addition to updates that reflect advances and changes in the field of applications on advanced architecture computers, Astfalk has added an index and introductory comments to each article, making this book cohesive and interesting to practitioners and researchers alike.
ScaLAPACK Users' Guide
Book 4 ยท Jan 1997 ยท
5.0
ScaLAPACK is an acronym for Scalable Linear Algebra Package or Scalable LAPACK. It is a library of high-performance linear algebra routines for distributed memory message-passing MIMD computers and networks of workstations supporting parallel virtual machine (PVM) and/or message passing interface (MPI). It is a continuation of the LAPACK project, which designed and produced analogous software for workstations, vector supercomputers, and shared memory parallel computers. Both libraries contain routines for solving systems of linear equations, least squares problems, and eigenvalue problems. The goals of both projects are efficiency, scalability, reliability, portability, flexibility, and ease of use.
PLTMG, a Software Package for Solving Elliptic Partial Differential Equations: Users' Guide 8.0
Book 5 ยท Jan 1998 ยท
5.0
Intended mainly for use as a reference manual, this edition encompasses all the improvements of the newest version of the PLTMG software package. This updated version introduces several significant changes.
ARPACK Users' Guide: Solution of Large-scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods
Book 6 ยท Jan 1998 ยท
4.0
This book is a guide to understanding and using the software package ARPACK to solve large algebraic eigenvalue problems. The software described is based on the implicitly restarted Arnoldi method, which has been heralded as one of the three most important advances in large scale eigenanalysis in the past ten years. The book explains the acquisition, installation, capabilities, and detailed use of the software for computing a desired subset of the eigenvalues and eigenvectors of large (sparse) standard or generalized eigenproblems. It also discusses the underlying theory and algorithmic background at a level that is accessible to the general practitioner.
Numerical Linear Algebra for High-performance Computers
Book 7 ยท Jan 1998 ยท
4.0
This book presents a unified treatment of recently developed techniques and current understanding about solving systems of linear equations and large scale eigenvalue problems on high-performance computers. It provides a rapid introduction to the world of vector and parallel processing for these linear algebra applications. Topics include major elements of advanced-architecture computers and their performance, recent algorithmic development, and software for direct solution of dense matrix problems, direct solution of sparse systems of equations, iterative solution of sparse systems of equations, and solution of large sparse eigenvalue problems.
Performance Optimization of Numerically Intensive Codes
Book 11 ยท Jan 2001 ยท
4.0
Performance Optimization of Numerically Intensive Codes?offers a comprehensive, tutorial-style, hands-on, introductory and intermediate-level treatment of all the essential ingredients for achieving high performance in numerical computations on modern computers. The authors explain computer architectures, data traffic and issues related to performance of serial and parallel code optimization exemplified by actual programs written for algorithms of wide interest. The unique hands-on style is achieved by extensive case studies using realistic computational problems. The performance gain obtained by applying the techniques described in this book can be very significant. The book bridges the gap between the literature in system architecture, the one in numerical methods and the occasional descriptions of optimization topics in computer vendors' literature. It also allows readers to better judge the suitability of certain computer architecture to their computational requirements. In contrast to standard textbooks on computer architecture and on programming techniques the book treats these topics together at the level necessary for writing high-performance programs. The book facilitates easy access to these topics for computational scientists and engineers mainly interested in practical issues related to efficient code development.
LAPACK95 Users' Guide
Book 12 ยท Jan 2001 ยท
5.0
LAPACK95 is a Fortran 95 interface to the Fortran 77 LAPACK library. It is relevant for anyone who writes in the Fortran 95 language and needs reliable software for basic numerical linear algebra. It improves upon the original user-interface to the LAPACK package, taking advantage of the considerable simplifications that Fortran 95 allows. LAPACK95 Users' Guide provides an introduction to the design of the LAPACK95 package, a detailed description of its contents, reference manuals for the leading comments of the routines, and example programs.
A Tutorial on Elliptic PDE Solvers and Their Parallelization
Book 15 ยท Jan 2003 ยท
5.0
This compact yet thorough tutorial is the perfect introduction to the basic concepts of solving partial differential equations (PDEs) using parallel numerical methods. In just eight short chapters, the authors provide readers with enough basic knowledge of PDEs, discretization methods, solution techniques, parallel computers, parallel programming, and the run-time behavior of parallel algorithms to allow them to understand, develop, and implement parallel PDE solvers. Examples throughout the book are intentionally kept simple so that the parallelization strategies are not dominated by technical details.
The Lanczos Method: Evolution and Application
Book 15 ยท Jan 2003 ยท
0.0
The Lanczos Method: Evolution and Application is divided into two distinct parts. The first part reviews the evolution of one of the most widely used numerical techniques in the industry. The development of the method, as it became more robust, is demonstrated through easy-to-understand algorithms. The second part contains industrial applications drawn from the author's experience. These chapters provide a unique interaction between the numerical algorithms and their engineering applications.
Understanding Search Engines: Mathematical Modeling and Text Retrieval, Second Edition
Book 16 ยท Jan 2005 ยท
5.0
The second edition of Understanding Search Engines: Mathematical Modeling and Text Retrieval follows the basic premise of the first edition by discussing many of the key design issues for building search engines and emphasizing the important role that applied mathematics can play in improving information retrieval. The authors discuss important data structures, algorithms, and software as well as user-centered issues such as interfaces, manual indexing, and document preparation. Readers will find that the second edition includes significant changes that bring the text up to date on current information retrieval methods. For example, the authors have added a completely new chapter on link-structure algorithms used in search engines such as Google, and the chapter on user interface has been rewritten to specifically focus on search engine usability. To reflect updates in the literature on information retrieval, the authors have added new recommendations for further reading and expanded the bibliography. In addition, the index has been updated and streamlined to make it more reader friendly.
Accuracy and Reliability in Scientific Computing
Book 17 ยท Jan 2005 ยท
5.0
Numerical software is used to test scientific theories, design airplanes and bridges, operate manufacturing lines, control power plants and refineries, analyze financial derivatives, identify genomes, and provide the understanding necessary to derive and analyze cancer treatments. Because of the high stakes involved, it is essential that results computed using software be accurate, reliable, and robust. Unfortunately, developing accurate and reliable scientific software is notoriously difficult. This book investigates some of the difficulties related to scientific computing and provides insight into how to overcome them and obtain dependable results. The tools to assess existing scientific applications are described, and a variety of techniques that can improve the accuracy and reliability of newly developed applications is discussed. Accuracy and Reliability in Scientific Computing can be considered a handbook for improving the quality of scientific computing. It will help computer scientists address the problems that affect software in general as well as the particular challenges of numerical computation: approximations occurring at all levels, continuous functions replaced by discretized versions, infinite processes replaced by finite ones, and real numbers replaced by finite precision numbers. Divided into three parts, it starts by illustrating some of the difficulties in producing robust and reliable scientific software. Well-known cases of failure are reviewed and the what and why of numerical computations are considered. The second section describes diagnostic tools that can be used to assess the accuracy and reliability of existing scientific applications. In the last section, the authors describe a variety of techniques that can be employed to improve the accuracy and reliability of newly developed scientific applications. The authors of the individual chapters are international experts, many of them members of the IFIP Working Group on Numerical Software.
Parallel Processing for Scientific Computing
Book 19 ยท Jan 2006 ยท
4.0
Parallel processing has been an enabling technology in scientific computing for more than 20 years. This book is the first in-depth discussion of parallel computing in 10 years; it reflects the mix of topics that mathematicians, computer scientists, and computational scientists focus on to make parallel processing effective for scientific problems. Presently, the impact of parallel processing on scientific computing varies greatly across disciplines, but it plays a vital role in most problem domains and is absolutely essential in many of them. Parallel Processing for Scientific Computing is divided into four parts: The first concerns performance modeling, analysis, and optimization; the second focuses on parallel algorithms and software for an array of problems common to many modeling and simulation applications; the third emphasizes tools and environments that can ease and enhance the process of application development; and the fourth provides a sampling of applications that require parallel computing for scaling to solve larger and realistic models that can advance science and engineering.
Parallel MATLAB for Multicore and Multinode Computers
Book 20 ยท Jan 2009 ยท
4.0
Parallel MATLAB for Multicore and Multinode Computers is the first book on parallel MATLAB and the first parallel computing book focused on the design, code, debug, and test techniques required to quickly produce well-performing parallel programs. MATLAB is currently the dominant language of technical computing with one million users worldwide, many of whom can benefit from the increased power offered by inexpensive multicore and multinode parallel computers. MATLAB is an ideal environment for learning about parallel computing, allowing the user to focus on parallel algorithms instead of the details of implementation. This book covers more parallel algorithms and parallel programming models than any other parallel programming book due to the succinctness of MATLAB and presents a "hands-on" approach with numerous example programs. Wherever possible, the examples are drawn from widely known and well-documented parallel benchmark codes representative of many real applications.
Graph Algorithms in the Language of Linear Algebra
Book 21 ยท Jan 2011 ยท
4.0
The current exponential growth in graph data has forced a shift to parallel computing for executing graph algorithms. Implementing parallel graph algorithms and achieving good parallel performance have proven difficult. This book addresses these challenges by exploiting the well-known duality between a canonical representation of graphs as abstract collections of vertices and edges and a sparse adjacency matrix representation. This linear algebraic approach is widely accessible to scientists and engineers who may not be formally trained in computer science. The authors show how to leverage existing parallel matrix computation techniques and the large amount of software infrastructure that exists for these computations to implement efficient and scalable parallel graph algorithms. The benefits of this approach are reduced algorithmic complexity, ease of implementation, and improved performance.
Implicit Filtering
Book 22 ยท Jan 2011 ยท
4.0
Implicit filtering is a way to solve bound-constrained optimization problems for which derivative information is not available. Unlike methods that use interpolation to reconstruct the function and its higher derivatives, implicit filtering builds upon coordinate search and then interpolates to get an approximation of the gradient. The author describes the algorithm, its convergence theory, and a new MATLAB? implementation, and includes three case studies. This book is unique in that it is the only one in the area of derivative-free or sampling methods and is accompanied by publicly available software. It is also designed as a software manual and as a reference for implicit filtering - one can approach the book as a consumer of the software, as a student, or as a researcher in sampling and derivative-free methods. The book includes a chapter on convergence theory that is both accessible to students and an overview of recent results on optimization of noisy functions, including results that depend on non-smooth analysis and results on the handling of constraints. Implicit filtering is used in applications in electrical, civil, and mechanical engineering.
The Art of Differentiating Computer Programs: An Introduction to Algorithmic Differentiation
Book 23 ยท Jan 2012 ยท
5.0
This is the first entry-level book on algorithmic (also known as automatic) differentiation (AD), providing fundamental rules for the generation of first- and higher-order tangent-linear and adjoint code. The author covers the mathematical underpinnings as well as how to apply these observations to real-world numerical simulation programs. Readers will find: examples and exercises, including hints to solutions; the prototype AD tools dco and dcc for use with the examples and exercises; first- and higher-order tangent-linear and adjoint modes for a limited subset of C/C++, provided by the derivative code compiler dcc; a supplementary website containing sources of all software discussed in the book, additional exercises and comments on their solutions (growing over the coming years), links to other sites on AD, and errata.
Numerically Solving Polynomial Systems with Bertini
Book 24 ยท Nov 2013 ยท
3.0
This book is a guide to concepts and practice in numerical algebraic geometry ? the solution of systems of polynomial equations by numerical methods. Through numerous examples, the authors show how to apply the well-received and widely used open-source Bertini software package to compute solutions, including a detailed manual on syntax and usage options. The authors also maintain a complementary web page where readers can find supplementary materials and Bertini input files. Numerically Solving Polynomial Systems with Bertini approaches numerical algebraic geometry from a user's point of view with numerous examples of how Bertini is applicable to polynomial systems. It treats the fundamental task of solving a given polynomial system and describes the latest advances in the field, including algorithms for intersecting and projecting algebraic sets, methods for treating singular sets, the nascent field of real numerical algebraic geometry, and applications to large polynomial systems arising from differential equations. Those who wish to solve polynomial systems can start gently by finding isolated solutions to small systems, advance rapidly to using algorithms for finding positive-dimensional solution sets (curves, surfaces, etc.), and learn how to use parallel computers on large problems. These techniques are of interest to engineers and scientists in fields where polynomial equations arise, including robotics, control theory, economics, physics, numerical PDEs, and computational chemistry.
A Software Repository for Orthogonal Polynomials
Book 27 ยท Mar 2018 ยท
4.0
A Software Repository for Orthogonal Polynomials is the first book that provides graphs and references to online datasets that enable the generation of a large number of orthogonal polynomials with classical, quasi-classical, and nonclassical weight functions. Useful numerical tables are also included. The book will be of interest to scientists, engineers, applied mathematicians, and statisticians.????
Bits and Bugs: A Scientific and Historical Review of Software Failures in Computational Science
Book 29 ยท Mar 2019 ยท
5.0
In scientific computing (also known as computational science), advanced computing capabilities are used to solve complex problems. This self-contained book describes and analyzes reported software failures related to the major topics within scientific computing: mathematical modeling of phenomena; numerical analysis (number representation, rounding, conditioning); mathematical aspects and complexity of algorithms, systems, or software; concurrent computing (parallelization, scheduling, synchronization); and numerical data (such as input of data and design of control logic).

Readers will find lists of related, interesting bugs, MATLAB examples, and ?excursions? that provide necessary background, as well as an in-depth analysis of various aspects of the selected bugs. Illustrative examples of numerical principles such as machine numbers, rounding errors, condition numbers, and complexity are also included.