Skip to product information
1 of 1

PeterPacheco,MatthewMalensek

An Introduction to Parallel Programming

An Introduction to Parallel Programming

💎 Earn 292 Points (£2.92) on this item.

Low Stock: Only 2 copies remaining
Regular price £58.46 GBP
Regular price £62.99 GBP Sale price £58.46 GBP
Sale Sold out
Taxes included. Shipping calculated at checkout.

YOU SAVE £4.53

  • Condition: Brand new
  • UK Delivery times: Usually arrives within 2 - 3 working days
  • UK Shipping: Fee starts at £2.39. Subject to product weight & dimension

Bulk ordering. Want 15 or more copies? Get a personalised quote and bigger discounts. Learn more about bulk orders.

  • More about An Introduction to Parallel Programming

The second edition of An Introduction to Parallel Programming is a tutorial approach that teaches students how to develop effective parallel programs with MPI, Pthreads, and OpenMP. It covers designing, debugging, and evaluating distributed and shared-memory programs, as well as accelerators, and includes user-friendly exercises.

Format: Paperback / softback
Length: 496 pages
Publication date: 15 November 2021
Publisher: Elsevier Science & Technology


An Introduction to Parallel Programming, Second Edition presents a proven tutorial approach that teaches students how to develop effective parallel programs using MPI, Pthreads, and OpenMP. As the first undergraduate text to directly address compiling and running parallel programs on multi-core and cluster architectures, this second edition carries forward its clear explanations for designing, debugging, and evaluating the performance of distributed and shared-memory programs, while adding coverage of accelerators through new content on GPU programming and heterogeneous programming. New and improved user-friendly exercises teach students how to compile, run, and modify example programs.

Parallel programming is a powerful technique that allows computers to execute multiple tasks simultaneously. It is becoming increasingly important in today's world, where data and computing power are growing rapidly. In this article, we will provide an introduction to parallel programming and discuss some of the key concepts and techniques involved.

One of the most important aspects of parallel programming is the use of parallel processing units (PPUs). PPUs are specialized processors that can execute multiple instructions simultaneously. They are often used in supercomputers and high-performance computing (HPC) systems.

Another important concept in parallel programming is the use of parallel algorithms. Parallel algorithms are designed to take advantage of the parallel processing capabilities of PPUs. They can be used to solve complex problems that would otherwise take a long time to solve on a single CPU.

There are several different types of parallel algorithms, including parallel sorting, parallel searching, and parallel matrix multiplication. Each type of algorithm has its own advantages and disadvantages, and the choice of algorithm depends on the specific problem that needs to be solved.

One of the most popular parallel programming languages is MPI, which stands for Message Passing Interface. MPI is a standard interface that allows programs to communicate and exchange data across multiple computers. It is used in a wide range of applications, including scientific computing, engineering, and finance.

Another popular parallel programming language is Pthreads, which is used for developing parallel programs on multi-core processors. Pthreads allow programs to be divided into multiple threads, which can execute simultaneously on different processors.

OpenMP is a third-party parallel programming library that is used for developing parallel programs on multi-core and cluster computers. OpenMP is designed to be portable and scalable, and it supports a wide range of programming languages, including C, C++, and Fortran.

In addition to parallel programming languages, there are also several tools and libraries that can be used to develop parallel programs. These include MPI-Toolkit, PThreads-Toolkit, and OpenMP-Toolkit. These tools provide a wide range of features and functionalities that can help developers build parallel programs more efficiently and effectively.

One of the challenges of parallel programming is the need to manage data and communication efficiently. This involves partitioning the data into smaller pieces and distributing them across the different processors. It also involves managing communication between the different processors and ensuring that the data is synchronized.

Another challenge of parallel programming is the need to optimize the performance of the program. This involves analyzing the program and identifying areas where parallelization can be used more effectively. It also involves tuning the program to optimize the performance of the different processors.

In conclusion, parallel programming is a powerful technique that allows computers to execute multiple tasks simultaneously. It is becoming increasingly important in today's world, where data and computing power are growing rapidly. In this article, we have provided an introduction to parallel programming and discussed some of the key concepts and techniques involved. We have also discussed some of the tools and libraries that can be used to develop parallel programs, and we have discussed some of the challenges that developers face when developing parallel programs.

Weight: 774g
Dimension: 234 x 190 x 23 (mm)
ISBN-13: 9780128046050
Edition number: 2 ed

This item can be found in:

UK and International shipping information

UK Delivery and returns information:

  • Delivery within 2 - 3 days when ordering in the UK.
  • Shipping fee for UK customers from £2.39. Fully tracked shipping service available.
  • Returns policy: Return within 30 days of receipt for full refund.

International deliveries:

Shulph Ink now ships to Australia, Belgium, Canada, France, Germany, Ireland, Italy, India, Luxembourg Saudi Arabia, Singapore, Spain, Netherlands, New Zealand, United Arab Emirates, United States of America.

  • Delivery times: within 5 - 10 days for international orders.
  • Shipping fee: charges vary for overseas orders. Only tracked services are available for most international orders. Some countries have untracked shipping options.
  • Customs charges: If ordering to addresses outside the United Kingdom, you may or may not incur additional customs and duties fees during local delivery.
View full details