Multicore & GPU Programming : An Integrated
Approach, 2e
Instructor’s Manual
Gerassimos Barlas
June 15, 2022
,2
,Contents
Contents 2
1 Introduction 5
2 Multicore and Parallel Program Design 9
3 Threads and Concurrency in standard C++ 13
4 Parallel data structures 57
5 Distributed memory programming 61
6 GPU Programming 117
7 GPU and Accelerator Programming : OpenCL 143
8 Shared-memory programming : OpenMP 169
9 The Thrust Template Library 183
10 High-level multi-threaded programming with the Qt library 199
11 Load Balancing 205
3
, 4 CONTENTS
Approach, 2e
Instructor’s Manual
Gerassimos Barlas
June 15, 2022
,2
,Contents
Contents 2
1 Introduction 5
2 Multicore and Parallel Program Design 9
3 Threads and Concurrency in standard C++ 13
4 Parallel data structures 57
5 Distributed memory programming 61
6 GPU Programming 117
7 GPU and Accelerator Programming : OpenCL 143
8 Shared-memory programming : OpenMP 169
9 The Thrust Template Library 183
10 High-level multi-threaded programming with the Qt library 199
11 Load Balancing 205
3
, 4 CONTENTS