Multicore Computing: Algorithms, Architectures, and Applications Front Cover

Multicore Computing: Algorithms, Architectures, and Applications

  • Length: 452 pages
  • Edition: 1
  • Publisher:
  • Publication Date: 2013-12-12
  • ISBN-10: 1439854343
  • ISBN-13: 9781439854341
  • Sales Rank: #5538596 (See Top 100 Books)
Description

Every area of science and engineering today has to process voluminous data sets. Using exact, or even approximate, algorithms to solve intractable problems in critical areas, such as computational biology, takes time that is exponential in some of the underlying parameters. Parallel computing addresses this issue and has become affordable with the advent of multicore architectures. However, programming multicore machines is much more difficult due to oddities existing in the architectures.

Offering insights into different facets of this area, Multicore Computing: Algorithms, Architectures, and Applications focuses on the architectures, algorithms, and applications of multicore computing. It will help readers understand the intricacies of these architectures and prepare them to design efficient multicore algorithms.

Contributors at the forefront of the field cover the memory hierarchy for multicore and manycore processors, the caching strategy Flexible Set Balancing, the main features of the latest SPARC architecture specification, the Cilk and Cilk++ programming languages, the numerical software library Parallel Linear Algebra Software for Multicore Architectures (PLASMA), and the exact multipattern string matching algorithm of Aho-Corasick. They also describe the architecture and programming model of the NVIDIA Tesla GPU, discuss scheduling directed acyclic graphs onto multi/manycore processors, and evaluate design trade-offs among Intel and AMD multicore processors, IBM Cell Broadband Engine, and NVIDIA GPUs. In addition, the book explains how to design algorithms for the Cell Broadband Engine and how to use the backprojection algorithm for generating images from synthetic aperture radar data.

Table of Contents

Chapter 1 – Memory Hierarchy for Multicore and Many-Core Processors
Chapter 2 – FSB: A Flexible Set-Balancing Strategy for Last-Level Caches
Chapter 3 – The SPARC Processor Architecture
Chapter 4 – The Cilk and Cilk++ Programming Languages
Chapter 5 – Multithreading in the PLASMA Library
Chapter 6 – E cient Aho-Corasick String Matching on Emerging Multicore Architectures
Chapter 7 – Sorting on a Graphics Processing Unit (GPU)
Chapter 8 – Scheduling DAG-Structured Computations
Chapter 9 – Evaluating Multicore Processors and Accelerators for Dense Numerical Computations
Chapter 10 – Sorting on the Cell Broadband Engine
Chapter 11 – GPU Matrix Multiplication
Chapter 12 – Backprojection Algorithms for Multicore and GPU Architectures

To access the link, solve the captcha.