
Springer
Parallel C : Efficient and Scalable High-Performance Parallel Programming Using HPX
Product Code:
9783031543685
ISBN13:
9783031543685
Condition:
New
$76.11

Parallel C : Efficient and Scalable High-Performance Parallel Programming Using HPX
$76.11
This textbook focuses on practical parallel C programming at the graduate student level. In particular, it shows the APIs and related language features in the C 17 and C 20 standards, covering both single node and distributed systems. It shows that with the parallel features in the C 17 and C 20 standards, learning meta-languages like OpenMP is no longer necessary. Using the C standard library for parallelism and concurrency (HPX), the same language features can be extended to distributed codes, providing a higher-level C interface to distributed programming than the Message Passing Interface (MPI). The book starts with the single-threaded implementation of the fractal sets, e.g. Julia set, and Mandelbrot set, using the C Standard Library (SL)?s container and algorithms. This code base is used for parallel implementation using low-level threads, asynchronous programming, parallel algorithms, and coroutines. The asynchronous programming examples are then extended to distributed programming using the C standard library for parallelism and concurrency (HPX). Octo-Tiger, an astrophysics code for stellar merger, is used as a showcase for a portable, efficient, and scalable high-performance application using HPX. The book?s core audience is advanced undergraduate and graduate students who want to learn the basics of parallel and distributed C programming but are not computer science majors. Basic C knowledge, like functions, classes, loops, and conditional statements, is assumed as a requirement, while C advanced topics, like generic programming, lambda functions, smart pointers, and move semantics, are briefly summarized in the appendix.
Author: Patrick Diehl, Steven R. Brandt, Hartmut Kaiser |
Publisher: Springer |
Publication Date: Jul 03, 2024 |
Number of Pages: NA pages |
Language: English |
Binding: Paperback |
ISBN-10: 3031543688 |
ISBN-13: 9783031543685 |