Barbara Chapman

Barbara Chapman is Professor of Computer Science at the University of Houston.

  • Using OpenMP

    Using OpenMP

    Portable Shared Memory Parallel Programming

    Barbara Chapman, Gabriele Jost, and Ruud van der Pas

    A comprehensive overview of OpenMP, the standard application programming interface for shared memory parallel computing—a reference for students and professionals.

    "I hope that readers will learn to use the full expressibility and power of OpenMP. This book should provide an excellent introduction to beginners, and the performance section should help those with some experience who want to push OpenMP to its limits."—from the foreword by David J. Kuck, Intel Fellow, Software and Solutions Group, and Director, Parallel and Distributed Solutions, Intel Corporation

    OpenMP, a portable programming interface for shared memory parallel computers, was adopted as an informal standard in 1997 by computer scientists who wanted a unified model on which to base programs for shared memory systems. OpenMP is now used by many software developers; it offers significant advantages over both hand-threading and MPI. Using OpenMP offers a comprehensive introduction to parallel programming concepts and a detailed overview of OpenMP.

    Using OpenMP discusses hardware developments, describes where OpenMP is applicable, and compares OpenMP to other programming interfaces for shared and distributed memory parallel architectures. It introduces the individual features of OpenMP, provides many source code examples that demonstrate the use and functionality of the language constructs, and offers tips on writing an efficient OpenMP program. It describes how to use OpenMP in full-scale applications to achieve high performance on large-scale architectures, discussing several case studies in detail, and offers in-depth troubleshooting advice. It explains how OpenMP is translated into explicitly multithreaded code, providing a valuable behind-the-scenes account of OpenMP program performance. Finally, Using OpenMP considers trends likely to influence OpenMP development, offering a glimpse of the possibilities of a future OpenMP 3.0 from the vantage point of the current OpenMP 2.5. With multicore computer use increasing, the need for a comprehensive introduction and overview of the standard interface is clear.

    Using OpenMP provides an essential reference not only for students at both undergraduate and graduate levels but also for professionals who intend to parallelize existing codes or develop new parallel programs for shared memory computer architectures.

    • Paperback $50.00 £40.00


  • Programming Models for Parallel Computing

    Programming Models for Parallel Computing

    Pavan Balaji

    An overview of the most prominent contemporary parallel processing programming models, written in a unique tutorial style.

    With the coming of the parallel computing era, computer scientists have turned their attention to designing programming models that are suited for high-performance parallel computing and supercomputing systems. Programming parallel systems is complicated by the fact that multiple processing units are simultaneously computing and moving data. This book offers an overview of some of the most prominent parallel programming models used in high-performance computing and supercomputing systems today.

    The chapters describe the programming models in a unique tutorial style rather than using the formal approach taken in the research literature. The aim is to cover a wide range of parallel programming models, enabling the reader to understand what each has to offer. The book begins with a description of the Message Passing Interface (MPI), the most common parallel programming model for distributed memory computing. It goes on to cover one-sided communication models, ranging from low-level runtime libraries (GASNet, OpenSHMEM) to high-level programming models (UPC, GA, Chapel); task-oriented programming models (Charm++, ADLB, Scioto, Swift, CnC) that allow users to describe their computation and data units as tasks so that the runtime system can manage computation and data movement as necessary; and parallel programming models intended for on-node parallelism in the context of multicore architecture or attached accelerators (OpenMP, Cilk Plus, TBB, CUDA, OpenCL). The book will be a valuable resource for graduate students, researchers, and any scientist who works with data sets and large computations.

    Contributors Timothy Armstrong, Michael G. Burke, Ralph Butler, Bradford L. Chamberlain, Sunita Chandrasekaran, Barbara Chapman, Jeff Daily, James Dinan, Deepak Eachempati, Ian T. Foster, William D. Gropp, Paul Hargrove, Wen-mei Hwu, Nikhil Jain, Laxmikant Kale, David Kirk, Kath Knobe, Ariram Krishnamoorthy, Jeffery A. Kuehn, Alexey Kukanov, Charles E. Leiserson, Jonathan Lifflander, Ewing Lusk, Tim Mattson, Bruce Palmer, Steven C. Pieper, Stephen W. Poole, Arch D. Robison, Frank Schlimbach, Rajeev Thakur, Abhinav Vishnu, Justin M. Wozniak, Michael Wilde, Kathy Yelick, Yili Zheng

    • Paperback $60.00 £50.00
  • Cerebral Plasticity

    Cerebral Plasticity

    New Perspectives

    Leo M. Chalupa, Nicoletta Berardi, Matteo Caleo, Lucia Galli-Resta, and Tommaso Pizzorusso

    A survey of the latest research, covering such topics as plasticity in the adult brain and the underlying mechanisms of plasticity.

    The notion that neurons in the living brain can change in response to experience—a phenomenon known as "plasticity"—has become a major conceptual issue in neuroscience research as well as a practical focus for the fields of neural rehabilitation and neurodegenerative disease. Early work dealt with the plasticity of the developing brain and demonstrated the critical role played by sensory experience in normal development. Two broader themes have emerged in recent studies: the plasticity of the adult brain (one of the most rapidly developing areas of current research) and the search for the underlying mechanisms of plasticity—explanations for the cellular, molecular, and epigenetic factors controlling plasticity. Many scientists believe that achieving a fundamental understanding of what underlies neuronal plasticity could help us treat neurological disorders and even improve the learning capabilities of the human brain.

    This volume offers contributions from leaders in the field that cover all three approaches to the study of cerebral plasticity. Chapters treat normal development and the influences of environmental manipulations; cerebral plasticity in adulthood; and underlying mechanisms of plasticity. Other chapters deal with plastic changes in neurological conditions and with the enhancement of plasticity as a strategy for brain repair.

    • Hardcover $19.75 £15.99