Results 1 -
6 of
6
A high-performance, portable implementation of the MPI message passing interface standard
- Parallel Computing
, 1996
"... MPI (Message Passing Interface) is a specification for a standard library for message passing that was defined by the MPI Forum, a broadly based group of parallel computer vendors, library writers, and applications specialists. Multiple implementations of MPI have been developed. In this paper, we d ..."
Abstract
-
Cited by 651 (37 self)
- Add to MetaCart
MPI (Message Passing Interface) is a specification for a standard library for message passing that was defined by the MPI Forum, a broadly based group of parallel computer vendors, library writers, and applications specialists. Multiple implementations of MPI have been developed. In this paper, we describe MPICH, unique among existing implementations in its design goal of combining portability with high performance. We document its portability and performance and describe the architecture by which these features are simultaneously achieved. We also discuss the set of tools that accompany the free distribution of MPICH, which constitute the beginnings of a portable parallel programming environment. A project of this scope inevitably imparts lessons about parallel computing, the specification being followed, the current hardware and software environment for parallel computing, and project management; we describe those we have learned. Finally, we discuss future developments for MPICH, including those necessary to accommodate extensions to the MPI Standard now being contemplated by the MPI Forum. 1
A Fortran-to-C converter
- AT&T Bell Laboratories
, 1992
"... We describe f 2c, a program that translates Fortran 77 into C or C++. F 2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. 1. ..."
Abstract
-
Cited by 34 (0 self)
- Add to MetaCart
We describe f 2c, a program that translates Fortran 77 into C or C++. F 2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. 1.
Automatic Differentiation of Nonlinear AMPL Models
- IN AUTOMATIC DIFFERENTIATION OF ALGORITHMS: THEORY, IMPLEMENTATION, AND APPLICATION
, 1991
"... We describe favorable experience with automatic differentiation of mathematical programming problems expressed in AMPL, a modeling language for mathematical programming. Nonlinear expressions are translated to loop-free code, which makes analytically correct gradients and Jacobians particularly easy ..."
Abstract
-
Cited by 10 (9 self)
- Add to MetaCart
We describe favorable experience with automatic differentiation of mathematical programming problems expressed in AMPL, a modeling language for mathematical programming. Nonlinear expressions are translated to loop-free code, which makes analytically correct gradients and Jacobians particularly easy to compute -- static storage allocation suffices. The nonlinear expressions may either be interpreted or, to gain some execution speed, converted to Fortran or C.
A Fortran to C Converter
- BELL LABORATORIES, COMPUTER SCIENCE
, 1993
"... We describe f 2c, a program that translates Fortran 77 into C or C++. F2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments. ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
We describe f 2c, a program that translates Fortran 77 into C or C++. F2c lets one portably mix C and Fortran and makes a large body of well-tested Fortran source code available to C environments.
Multi-Language Programming Environments for High Performance Java Computing
- Scientific Programming
, 1998
"... Recent developments in processor capabilities, software tools, programming languages and programming paradigms have brought about new approaches to high performance computing. A steadfast component of this dynamic evolution has been the scientific community's reliance on established scientific packa ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Recent developments in processor capabilities, software tools, programming languages and programming paradigms have brought about new approaches to high performance computing. A steadfast component of this dynamic evolution has been the scientific community's reliance on established scientific packages. As a consequence, programmers of high-performance applications are reluctant to embrace evolving languages such as Java. This paper describes the Java-to-C Interface (JCI) tool which provides application programmers wishing to use Java with immediate accessibility to existing scientific packages. The JCI tool also facilitates rapid development and reuse of existing code. These benefits are provided at minimal cost to the programmer. While beneficial to the programmer, the additional advantages of mixed-language programming in terms of application performance and portability are addressed in detail within the context of this paper. In addition, we discuss how the JCI tool is complementing other ongoing projects such as IBM's High-Performance Compiler for Java (HPCJ) and IceT's metacomputing environment.
Development and first applications of TAC++, in
- Utke (Eds.), Advances in Automatic Differentiation
, 2008
"... Summary. The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by sourceto-source translation. We have transferred to TAC++ a subset of the algorithms from its well-established Fortran equivalent, Transf ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Summary. The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by sourceto-source translation. We have transferred to TAC++ a subset of the algorithms from its well-established Fortran equivalent, Transformation of Algorithms in Fortran (TAF). TAC++ features forward and reverse as well as scalar and vector modes of AD. Efficient higher order derivative code is generated by multiple application of TAC++. High performance of the generated derivate code is demonstrated for five examples from application fields covering remote sensing, computer vision, computational finance, and aeronautics. For instance, the run time of the adjoints for simultaneous evaluation of the function and its gradient is between 1.9 and 3.9 times slower than that of the respective function codes. Options for further enhancement are discussed.

