Content addressable memories or content addressable parallel processors or associative memories or associative processors have been around the computing scene for almost 20 years now. Several hundred papers have been written discussing their use and design but so far no single text or reference book has tried to summarize the field. This volume attempts to remedy this lack. It attempts to gather into one place all the information that exists as of late 1975.
Due to continual progress in the large-scale integration of semiconductor circuits, parallel computing principles can already be met in low-cost sys tems: numerous examples exist in image processing, for which special hard ware is implementable with quite modest resources even by nonprofessional designers. Principles of content addressing, if thoroughly understood, can thereby be applied effectively using standard components. On the other hand, mass storage based on associative principles still exists only in the long term plans of computer technologists. This situation is somewhat confused by the fact that certain expectations are held for the development of new storage media such as optical memories and "spin glasses" (metal alloys with low-density magnetic impurities). Their technologies, however, may not ripen until after "fifth generation" computers have been built. It seems that software methods for content addressing, especially those based on hash coding principles, are still holding their position firmly, and a few innovations have been developed recently. As they need no special hardware, one might expect that they will spread to a wide circle of users. This monograph is based on an extensive literature survey, most of which was published in the First Edition. I have added Chap. ?, which contains a review of more recent work. This updated book now has references to over 1200 original publications. In the editing of the new material, I received valuable help from Anneli HeimbUrger, M. Sc. , and Mrs. Leila Koivisto.
Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, teaches students how to program massively parallel processors. It offers a detailed discussion of various techniques for constructing parallel programs. Case studies are used to demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing. This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers. - New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more - Increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism - Two new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing
This book constitutes the refereed proceedings of 11 IPPS/SPDP '98 Workshops held in conjunction with the 13th International Parallel Processing Symposium and the 10th Symposium on Parallel and Distributed Processing in San Juan, Puerto Rico, USA in April 1999. The 126 revised papers presented were carefully selected from a wealth of papers submitted. The papers are organised in topical sections on biologically inspired solutions to parallel processing problems: High-Level Parallel Programming Models and Supportive Environments; Biologically Inspired Solutions to Parallel Processing; Parallel and Distributed Real-Time Systems; Run-Time Systems for Parallel Programming; Reconfigurable Architectures; Java for Parallel and Distributed Computing; Optics and Computer Science; Solving Irregularly Structured Problems in Parallel; Personal Computer Based Workstation Networks; Formal Methods for Parallel Programming; Embedded HPC Systems and Applications.
Depth search machines (DSMs) and their applications for processing combinatorial tasks are investigated and developed in this book. The combinatorial tasks are understood widely and contain sorting and searching, processing NP-complete and isomorphic complete problems, computational geometry, pattern recognition, image analysis and expert reasoning. The main philosophy is to see EXISTENCE and EVERY as the basic tasks, while IDENTIFICATION, SEARCHING and ALL algorithms are given both for single and parallel DSMs. In this book, many IDENTIFICATION, SEARCHING and ALL algorithms are performed in single and parallel DSMs. In order to support side applications of the given approach, there are many new models for representing different combinatorial problems. The given approach enables low computational complexity for many practical algorithms to be reached, which is theoretically quite unexpected if the classic approach is followed.
"The main theme of the 1988 workshop, the 18th in this DARPA sponsored series of meetings on Image Understanding and Computer Vision, is to cover new vision techniques in prototype vision systems for manufacturing, navigation, cartography, and photointerpretation." P. v.
Integrating associative processing concepts with massively parallel SIMD technology, this volume explores a model for accessing data by content rather than abstract address mapping.