Parallel Programming with Intel Parallel Studio XE
Parallel programming is rapidly becoming a "must-know" skill for developers. Yet, where to start? This teach-yourself tutorial is an ideal starting point for developers who already know Windows C and C++ and are eager to add parallelism to their code. With a focus on applying tools, techniques, and language extensions to implement parallelism, this essential resource teaches you how to write programs for multicore and leverage the power of multicore in your programs. Sharing hands-on case studies and real-world examples, the authors examine the challenges of each project and show you how to overcome them.
- Explores conversion of serial code to parallel
- Focuses on implementing Intel Parallel Studio
- Highlights the benefits of using parallel code
- Addresses error and performance optimization of code
- Includes real-world scenarios that illustrate the techniques of advanced parallel programming situations
Parallel Programming with Intel Parallel Studio dispels any concerns of difficulty and gets you started creating faster code with Intel Parallel Studio.
PART I: AN INTRODUCTION TO PARALLELISM
CHAPTER 1: PARALLELISM TODAY 3
CHAPTER 2: AN OVERVIEW OF PARALLEL STUDIO XE 25
CHAPTER 3: PARALLEL STUDIO XE FOR THE IMPATIENT 53
PART II: USING PARALLEL STUDIO XE
CHAPTER 4: PRODUCING OPTIMIZED CODE 87
CHAPTER 5: WRITING SECURE CODE 131
CHAPTER 6: WHERE TO PARALLELIZE 155
CHAPTER 7: IMPLEMENTING PARALLELISM 181
CHAPTER 8: CHECKING FOR ERRORS 217
CHAPTER 9: TUNING PARALLEL APPLICATIONS 251
CHAPTER 10: PARALLEL ADVISOR–DRIVEN DESIGN 277
CHAPTER 11: DEBUGGING PARALLEL APPLICATIONS 309
CHAPTER 12: EVENT-BASED ANALYSIS WITH VTUNE AMPLIFIER XE 341
PART III: CASE STUDIES
CHAPTER 13: THE WORLD'S FIRST SUDOKU "THIRTY-NINER" 377
CHAPTER 14: NINE TIPS TO PARALLEL-PROGRAMMING HEAVEN 397
CHAPTER 15: PARALLEL TRACK FITTING IN THE CERN COLLIDER 419
CHAPTER 16: PARALLELIZING LEGACY CODE 463
Stephen Blair-Chappell is a technical consulting engineer at Intel and has worked in the Intel Compiler Lab for more than a decade. He is a regular speaker at technical conferences in Europe and the U.S.
Andrew Stokes is a retired lecturer in software and electronics at Birmingham City University, UK. During his time at BCU Andrew developed many software simulation tools, including programs for artificial neural network simulation, CPU simulation, processor design, code development tools, and a PROLOG expert system.