The most critical point in the implementation on a vector computer of iterative methods to solve sparse linear algebraic systems is the sparse matrix-vector product. Therefor we have compared its performance under thr...
详细信息
The most critical point in the implementation on a vector computer of iterative methods to solve sparse linear algebraic systems is the sparse matrix-vector product. Therefor we have compared its performance under three different sparse matrix storage schemes found in literature. These schemes have been tested on a FPS M64/330 using matrices similar to those arising in finite element or finite difference discretizations.
The results are reported and discussed. On the basis of them a new storage scheme is proposed and tested in similar situations. The obtained performance is never worse and often much better than those of the other schemes we have analyzed.
The Synthesizer Generator is a system for automating the implementation of language-based editing environments. The editor designer prepares a specification that includes rules defining a language's context-free a...
详细信息
ISBN:
(数字)9781461396338
ISBN:
(纸本)9780387969107
The Synthesizer Generator is a system for automating the implementation of language-based editing environments. The editor designer prepares a specification that includes rules defining a language's context-free abstract syn tax, context-sensitive relationships, display format, and concrete input syntax. From this specification, the Synthesizer Generator creates a display editor for manipulating objects according to these rules [Reps84]. This volume, The Synthesizer Generator Reference Manual, is intended as the defining document of the system. A companion volume, The Synthesizer Gen erator: A System for Constructing Language-Based Editors [Reps88], provides a more tutorial description of the system; it contains numerous examples that illustrate the specification and use of generated editors, as well as chapters that explain important algorithms of the implementation. The Synthesizer Generator is a generalization of our earlier system, the Cor nell Program Synthesizer [Teitelbaum81], which was a programming environ ment for a specific small dialect of PL/I. It featured a display-oriented, syntax directed editor, an incremental compiler, an execution supervisor supporting source-level debugging, and a file system containing syntactically typed pro gram fragments. Whereas PL/I was built into the Cornell Program Synthesizer, the Synthesizer Generator accepts a formal language definition as input. Although originally conceived as a tool for creating Synthesizer-like environments for arbitrary pro gramming languages, the Synthesizer Generator is more broadly useful. Any textual language with a hierarchical phrase structure grammar is a candidate. vi Preface Interactive theorem proving for formal mathematics and logic, for example, has emerged as a particularlysuitable application.
In early 1986, one of us (D.M.S.) was constructing an artificial intelligence system to design algorithms, and the other (A.P.A.) was getting started in program transformations research. We shared an office, and excha...
详细信息
ISBN:
(数字)9781461388777
ISBN:
(纸本)9780387969602
In early 1986, one of us (D.M.S.) was constructing an artificial intelligence system to design algorithms, and the other (A.P.A.) was getting started in program transformations research. We shared an office, and exchanged a few papers on the systematic development of algorithms from specifications. Gradually we realized that we were trying to solve some of the same problems. And so, despite radical differences between ourselves in research approaches, we set out together to see what we could learn from these papers. That's how this book started: a couple of graduate students trying to cope with The Literature. At first, there was just a list of papers. One of us (D.M.S.) tried to cast the papers in a uniform framework by describing the problem spaces searched, an approach used in artificial intelligence for understanding many tasks. The generalized problem space descriptions, though useful, seemed to abstract too much, so we decided to compare papers by different authors dealing with the same algorithm. These comparisons proved crucial: for then we began to see similar key design choices for each algorithm.
programming techniques necessary for high performance on the 3090 Vector Facilities are illustrated, showing that VS Fortran programs can achieve near-maximum execution rates. Relevant features of the 3090 architectur...
详细信息
programming techniques necessary for high performance on the 3090 Vector Facilities are illustrated, showing that VS Fortran programs can achieve near-maximum execution rates. Relevant features of the 3090 architecture are reviewed, stressing the need to make efficient use of a hierarchical storage system and take advantage of the compound vector instructions. The key programming techniques for managing the storage hierarchy are loop sectioning, loop distribution, and data compaction. Vector register, cache reuse, and virtual memory, storage format, and page reuse are shown to lead to efficient use of the vector registers, the high speed cache, and the virtual memory system, respectively. The multiply-and-add compound instruction is discussed
A computer software system for interactive data processing is described. Data are transferred between functions (''operators''). Execution flow is designed in a semi-graphical language. Data are compos...
详细信息
A computer software system for interactive data processing is described. Data are transferred between functions (''operators''). Execution flow is designed in a semi-graphical language. Data are composed of arbitrary data types in sequences of any length. The system works as an interpreter and the user may define or modify its current operation without delay. Lucidity is increased by the possibility of building complex functions (''macros'') from simpler ones. Once such a construction has been made, the functions included can be made transparent to the user. Portability is emphasized by using only standard PASCAL. To promote flexibility, entirely new procedures and data types can be introduced. Both short- and long-term solutions are thus supported.
This volume contains the texts of the principal survey papers presented at ALGORITHMS -and ORDER, held· at Ottawa, Canada from June 1 to June 12, 1987. The conference was supported by grants from the N.A.T.O. Adv...
详细信息
ISBN:
(数字)9789400926394
ISBN:
(纸本)9780792300076;9789401076913
This volume contains the texts of the principal survey papers presented at ALGORITHMS -and ORDER, held· at Ottawa, Canada from June 1 to June 12, 1987. The conference was supported by grants from the N.A.T.O. Advanced Study Institute programme, the University of Ottawa, and the Natural Sciences and Engineering Research Council of Canada. We are grateful for this considerable support. Over fifty years ago, the Symposium on Lattice Theory, in Charlottesville, U.S.A., proclaimed the vitality of ordered sets. Only twenty years later the Symposium on Partially Ordered Sets and Lattice Theory, held at Monterey, U.S.A., had solved many of the problems that had been originally posed. In 1981, the Symposium on Ordered Sets held at Banff, Canada, continued this tradition. It was marked by a landmark volume containing twenty-three articles on almost all current topics in the theory of ordered sets and its applications. Three years after, Graphs and Orders, also held at Banff, Canada, aimed to document the role of graphs in the theory of ordered sets and its applications. Because of its special place in the landscape of the mathematical sciences order is especially sensitive to new trends and developments. Today, the most important current in the theory and application of order springs from theoretical computer seience. Two themes of computer science lead the way. The first is data structure. Order is common to data structures.
Data processing systems are becoming more complex, integrated, and powerful and have a higher degree of user control. This requires greater knowledge and experience, leading to a growing interest in documentation, us...
详细信息
Data processing systems are becoming more complex, integrated, and powerful and have a higher degree of user control. This requires greater knowledge and experience, leading to a growing interest in documentation, user-friendly systems, and training. The EuroHelp project studies ways to improve support facilities and develops tools to aid in maximizing the effect of user support. Intelligent help systems (IHS) help a user build a correct and sufficient conceptual model of a software application using a behavior similar to that of a human teacher. The IHS must have knowledge of the application and must monitor the interaction of the user and application. In addition, the IHS should have a user model and know how to express itself. A first version of such an intelligent help system consists of a: 1. performance monitor, which deals with non-optimal performance and knowledge, 2. question monitor for the user to communicate with the system, and 3. an utterance generator, which produces the text strings.
In fault-tolerant software systems, backward error recovery is meant to restore a system state that took place before the manifestation of the fault. Forward error recovery is meant to correct or isolate specific err...
详细信息
In fault-tolerant software systems, backward error recovery is meant to restore a system state that took place before the manifestation of the fault. Forward error recovery is meant to correct or isolate specific errors and is accomplished in the system state containing the errors. The organization and control of error recovery in asynchronous systems is quite complex, but it is possible to limit this complexity by suitable system structuring aids. Methods for structuring backward error recovery are relatively well understood. Here, techniques are proposed for structuring forward error recovery measures in asynchronous systems and recent ideas of atomic actions (transactions) are generalized so as to support fault-tolerant interactions between processes. An automatic resolution mechanism for exceptions in atomic actions is described that enables users to separate their recovery schemes from the details of the underlying algorithms.
Conventional methods for solving computing problems may not work for today's tasks. The methods employed in AI programming are more flexible, as they are designed for programming under uncertainty. For example, pr...
详细信息
Conventional methods for solving computing problems may not work for today's tasks. The methods employed in AI programming are more flexible, as they are designed for programming under uncertainty. For example, programming in AI languages means that programmers can defer commitment to a design decision until run time if necessary. The concept of embedded languages will also have attractions for programmers outside the realms of AI. Also available in AI development systems are highly sophisticated graphics interfaces. These and other tools can be used by programmers to great effect in many areas of computing.
Most programs which involve character to integer conversion fail to detect integer overflow correctly. This paper describes some of the pitfalls of not recognizing overflow, and presents a correct method for doing so ...
详细信息
Most programs which involve character to integer conversion fail to detect integer overflow correctly. This paper describes some of the pitfalls of not recognizing overflow, and presents a correct method for doing so in an arbitrary base for any precision.
暂无评论