scientific software production dates back to the days before the computer science discipline obtained its own name. Over the past 76 years, scientists have been producing software, which means that most of the modern ...
详细信息
scientific software production dates back to the days before the computer science discipline obtained its own name. Over the past 76 years, scientists have been producing software, which means that most of the modern techniques and software engineering methods available these days did not exist while part of this process was taking place. Change-driven development was born as a new approach to maintain and develop scientific software. Founded on the principles of software essence (changeability, complexity, intangibility, and conformity), integrated development tools, and automated source code transformation. This new, agile approach takes change as a working unit devised to drive the entire development process, which is performed in a four-stage cycle. One of the most interesting approaches to apply change-driven development on scientific software is to update, modernize and even parallelize sequential programs that have been written 20 or 30 years ago and are still running in production environments. This process will be thoroughly described and implemented. Two successful case studies will be presented and analyzed in depth.
Physical dimensions and units form an essential part of the specification of constants and variables occurring in scientific programs, yet no standard compilable programming language implements direct support for auto...
详细信息
Physical dimensions and units form an essential part of the specification of constants and variables occurring in scientific programs, yet no standard compilable programming language implements direct support for automated dimensional consistency checking and unit conversion. This paper describes a conceptual basis and prototype implementation for such support within the framework of the standard Fortran 90 language. This is accomplished via an external module supplying appropriate user data types and operator interfaces. Legacy Fortran 77 scientific software can be easily modified to compile and run as `dimension-aware' programs utilizing the proposed enhancements. Copyright (C) 2001 John Wiley & Sons, Ltd.
pMatlab, a parallel Matlab library, lowers the barrier to development of parallel and distributed application codes by providing an easy-to-use programming environment.
pMatlab, a parallel Matlab library, lowers the barrier to development of parallel and distributed application codes by providing an easy-to-use programming environment.
Many institutions choose to do periodic imaging of computers, which is both painstaking and limiting in terms of keeping software up to date. The authors describe an approach that builds on existing virtualization tec...
详细信息
Many institutions choose to do periodic imaging of computers, which is both painstaking and limiting in terms of keeping software up to date. The authors describe an approach that builds on existing virtualization technologies.
If you have been following developments in software engineering in recent years, you have probably noticed that the term "DSL" (domain-specific language) has become a minor buzzword in that field. You may ha...
详细信息
If you have been following developments in software engineering in recent years, you have probably noticed that the term "DSL" (domain-specific language) has become a minor buzzword in that field. You may have concluded that this is a hot new idea that is certainly not ready for application in real life. But, as I will show in this article, computational scientists (and others) have been using DSLs for decades. What is new is not DSLs per se, but the name and the attention given to them.
Columnist Paul F. Dubois says good-bye to his readers in this, his final installment of Café Dubois. This entertaining history of how the column came to be follows his own career path/arc.
Columnist Paul F. Dubois says good-bye to his readers in this, his final installment of Café Dubois. This entertaining history of how the column came to be follows his own career path/arc.
The Fortran language standard has undergone significant upgrades in recent years (1990, 1995, 2003, and 2008). Numerical Computing with Modern Fortran illustrates many of these improvements through practical solutions...
详细信息
ISBN:
(数字)9781611973129
ISBN:
(纸本)9781611973112
The Fortran language standard has undergone significant upgrades in recent years (1990, 1995, 2003, and 2008). Numerical Computing with Modern Fortran illustrates many of these improvements through practical solutions to a number of scientific and engineering problems. Readers will discover techniques for modernizing algorithms written in Fortran; examples of Fortran interoperating with C or C++ programs, plus using the IEEE floating-point standard for efficiency; illustrations of parallel Fortran programming using coarrays, MPI, and OpenMP; and a supplementary website with downloadable source codes discussed in the book. Audience: This book is intended for Fortran programmers seeking to update their programming skills using the language s latest features and for C and C++ programmers who want to understand key software aspects of numerical computing using modern Fortran. It is suitable for an upper-level undergraduate or early graduate course on advanced numerical scientific computing. Contents: Introduction; Chapter 1: The Modern Fortran Source; Chapter 2: Modules for Subprogram Libraries; Chapter 3: Generic Subprograms; Chapter 4: Sparse Matrices, Defined Operations, Overloaded Assignment; Chapter 5: Object-Oriented programming for Numerical Applications; Chapter 6: Recursion in Fortran; Chapter 7: Case Study: Toward a Modern QUADPACK Routine; Chapter 8: Case Study: Quadrature Routine qag2003; Chapter 9: IEEE Arithmetic Features and Exception Handling; Chapter 10: Interoperability with C; Chapter 11: Defined Operations for Sparse Matrix Solutions; Chapter 12: Case Study: Two Sparse Least-Squares System Examples; Chapter 13: Message Passing with MPI in Standard Fortran; Chapter 14: Coarrays in Standard Fortran; Chapter 15: OpenMP in Fortran; Chapter 16: Modifying Source to Remove Obsolescent or Deleted Features; Chapter 17: Software Testing; Chapter 18: Compilers; Chapter 19: Software Tools; Chapter 20: Fortran Book Code on SIAM Web Site; Bibliography; Index.
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the lan...
详细信息
ISBN:
(数字)9780191850028
ISBN:
(纸本)9780198811893
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard—Fortran 2018—includes many additions and improvements. This second edition of Modern Fortran Explained expands on the first. Given the release of updated versions of Fortran compilers, the separate descriptions of Fortran 2003 and Fortran 2008 have been incorporated into the main text, which thereby becomes a unified description of the full Fortran 2008 version of the language. This is much cleaner, many deficiencies and irregularities in the earlier language versions having been resolved. It includes object orientation and parallel processing with coarrays. Four completely new chapters describe the additional features of Fortran 2018, with its enhancements to coarrays for parallel programming, interoperability with C, IEEE arithmetic, and various other improvements. Written by leading experts in the field, two of whom have actively contributed to Fortran 2018, this is a complete and authoritative description of Fortran in its latest form. It is intended for new and existing users of the language, and for all those involved in scientific and numerical computing. It is suitable as a textbook for teaching and, with its index, as a handy reference for practitioners.
暂无评论