OpenACC for Programmers

Download OpenACC for Programmers PDF Online Free

Author :
Publisher : Addison-Wesley Professional
ISBN 13 : 0134694341
Total Pages : 563 pages
Book Rating : 4.1/5 (346 download)

DOWNLOAD NOW!


Book Synopsis OpenACC for Programmers by : Sunita Chandrasekaran

Download or read book OpenACC for Programmers written by Sunita Chandrasekaran and published by Addison-Wesley Professional. This book was released on 2017-09-11 with total page 563 pages. Available in PDF, EPUB and Kindle. Book excerpt: The Complete Guide to OpenACC for Massively Parallel Programming Scientists and technical professionals can use OpenACC to leverage the immense power of modern GPUs without the complexity traditionally associated with programming them. OpenACCTM for Programmers is one of the first comprehensive and practical overviews of OpenACC for massively parallel programming. This book integrates contributions from 19 leading parallel-programming experts from academia, public research organizations, and industry. The authors and editors explain each key concept behind OpenACC, demonstrate how to use essential OpenACC development tools, and thoroughly explore each OpenACC feature set. Throughout, you’ll find realistic examples, hands-on exercises, and case studies showcasing the efficient use of OpenACC language constructs. You’ll discover how OpenACC’s language constructs can be translated to maximize application performance, and how its standard interface can target multiple platforms via widely used programming languages. Each chapter builds on what you’ve already learned, helping you build practical mastery one step at a time, whether you’re a GPU programmer, scientist, engineer, or student. All example code and exercise solutions are available for download at GitHub. Discover how OpenACC makes scalable parallel programming easier and more practical Walk through the OpenACC spec and learn how OpenACC directive syntax is structured Get productive with OpenACC code editors, compilers, debuggers, and performance analysis tools Build your first real-world OpenACC programs Exploit loop-level parallelism in OpenACC, understand the levels of parallelism available, and maximize accuracy or performance Learn how OpenACC programs are compiled Master OpenACC programming best practices Overcome common performance, portability, and interoperability challenges Efficiently distribute tasks across multiple processors Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.

Parallel Programming with OpenACC

Download Parallel Programming with OpenACC PDF Online Free

Author :
Publisher : Newnes
ISBN 13 : 0124104592
Total Pages : 328 pages
Book Rating : 4.1/5 (241 download)

DOWNLOAD NOW!


Book Synopsis Parallel Programming with OpenACC by : Rob Farber

Download or read book Parallel Programming with OpenACC written by Rob Farber and published by Newnes. This book was released on 2016-10-14 with total page 328 pages. Available in PDF, EPUB and Kindle. Book excerpt: Parallel Programming with OpenACC is a modern, practical guide to implementing dependable computing systems. The book explains how anyone can use OpenACC to quickly ramp-up application performance using high-level code directives called pragmas. The OpenACC directive-based programming model is designed to provide a simple, yet powerful, approach to accelerators without significant programming effort. Author Rob Farber, working with a team of expert contributors, demonstrates how to turn existing applications into portable GPU accelerated programs that demonstrate immediate speedups. The book also helps users get the most from the latest NVIDIA and AMD GPU plus multicore CPU architectures (and soon for Intel® Xeon PhiTM as well). Downloadable example codes provide hands-on OpenACC experience for common problems in scientific, commercial, big-data, and real-time systems. Topics include writing reusable code, asynchronous capabilities, using libraries, multicore clusters, and much more. Each chapter explains how a specific aspect of OpenACC technology fits, how it works, and the pitfalls to avoid. Throughout, the book demonstrates how the use of simple working examples that can be adapted to solve application needs. - Presents the simplest way to leverage GPUs to achieve application speedups - Shows how OpenACC works, including working examples that can be adapted for application needs - Allows readers to download source code and slides from the book's companion web page

Programming Massively Parallel Processors

Download Programming Massively Parallel Processors PDF Online Free

Author :
Publisher : Newnes
ISBN 13 : 0123914183
Total Pages : 519 pages
Book Rating : 4.1/5 (239 download)

DOWNLOAD NOW!


Book Synopsis Programming Massively Parallel Processors by : David B. Kirk

Download or read book Programming Massively Parallel Processors written by David B. Kirk and published by Newnes. This book was released on 2012-12-31 with total page 519 pages. Available in PDF, EPUB and Kindle. Book excerpt: Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, teaches students how to program massively parallel processors. It offers a detailed discussion of various techniques for constructing parallel programs. Case studies are used to demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing. This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers. - New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more - Increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism - Two new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing

Professional CUDA C Programming

Download Professional CUDA C Programming PDF Online Free

Author :
Publisher : John Wiley & Sons
ISBN 13 : 1118739329
Total Pages : 528 pages
Book Rating : 4.1/5 (187 download)

DOWNLOAD NOW!


Book Synopsis Professional CUDA C Programming by : John Cheng

Download or read book Professional CUDA C Programming written by John Cheng and published by John Wiley & Sons. This book was released on 2014-09-09 with total page 528 pages. Available in PDF, EPUB and Kindle. Book excerpt: Break into the powerful world of parallel GPU programming with this down-to-earth, practical guide Designed for professionals across multiple industrial sectors, Professional CUDA C Programming presents CUDA -- a parallel computing platform and programming model designed to ease the development of GPU programming -- fundamentals in an easy-to-follow format, and teaches readers how to think in parallel and implement parallel algorithms on GPUs. Each chapter covers a specific topic, and includes workable examples that demonstrate the development process, allowing readers to explore both the "hard" and "soft" aspects of GPU programming. Computing architectures are experiencing a fundamental shift toward scalable parallel computing motivated by application requirements in industry and science. This book demonstrates the challenges of efficiently utilizing compute resources at peak performance, presents modern techniques for tackling these challenges, while increasing accessibility for professionals who are not necessarily parallel programming experts. The CUDA programming model and tools empower developers to write high-performance applications on a scalable, parallel computing platform: the GPU. However, CUDA itself can be difficult to learn without extensive programming experience. Recognized CUDA authorities John Cheng, Max Grossman, and Ty McKercher guide readers through essential GPU programming skills and best practices in Professional CUDA C Programming, including: CUDA Programming Model GPU Execution Model GPU Memory model Streams, Event and Concurrency Multi-GPU Programming CUDA Domain-Specific Libraries Profiling and Performance Tuning The book makes complex CUDA concepts easy to understand for anyone with knowledge of basic software development with exercises designed to be both readable and high-performance. For the professional seeking entrance to parallel computing and the high-performance computing community, Professional CUDA C Programming is an invaluable resource, with the most current information available on the market.

Euro-Par 2012 Parallel Processing

Download Euro-Par 2012 Parallel Processing PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 9783642328190
Total Pages : 960 pages
Book Rating : 4.3/5 (281 download)

DOWNLOAD NOW!


Book Synopsis Euro-Par 2012 Parallel Processing by : Christos Kaklamanis

Download or read book Euro-Par 2012 Parallel Processing written by Christos Kaklamanis and published by Springer. This book was released on 2012-07-26 with total page 960 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the thoroughly refereed proceedings of the 18th International Conference, Euro-Par 2012, held in Rhodes Islands, Greece, in August 2012. The 75 revised full papers presented were carefully reviewed and selected from 228 submissions. The papers are organized in topical sections on support tools and environments; performance prediction and evaluation; scheduling and load balancing; high-performance architectures and compilers; parallel and distributed data management; grid, cluster and cloud computing; peer to peer computing; distributed systems and algorithms; parallel and distributed programming; parallel numerical algorithms; multicore and manycore programming; theory and algorithms for parallel computation; high performance network and communication; mobile and ubiquitous computing; high performance and scientific applications; GPU and accelerators computing.

OpenCL Programming by Example

Download OpenCL Programming by Example PDF Online Free

Author :
Publisher : Packt Publishing Ltd
ISBN 13 : 1849692351
Total Pages : 437 pages
Book Rating : 4.8/5 (496 download)

DOWNLOAD NOW!


Book Synopsis OpenCL Programming by Example by : Ravishekhar Banger

Download or read book OpenCL Programming by Example written by Ravishekhar Banger and published by Packt Publishing Ltd. This book was released on 2013-12-23 with total page 437 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book follows an example-driven, simplified, and practical approach to using OpenCL for general purpose GPU programming. If you are a beginner in parallel programming and would like to quickly accelerate your algorithms using OpenCL, this book is perfect for you! You will find the diverse topics and case studies in this book interesting and informative. You will only require a good knowledge of C programming for this book, and an understanding of parallel implementations will be useful, but not necessary.

Supercomputing Frontiers

Download Supercomputing Frontiers PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3319699539
Total Pages : 301 pages
Book Rating : 4.3/5 (196 download)

DOWNLOAD NOW!


Book Synopsis Supercomputing Frontiers by : Rio Yokota

Download or read book Supercomputing Frontiers written by Rio Yokota and published by Springer. This book was released on 2018-03-20 with total page 301 pages. Available in PDF, EPUB and Kindle. Book excerpt: It constitutes the refereed proceedings of the 4th Asian Supercomputing Conference, SCFA 2018, held in Singapore in March 2018. Supercomputing Frontiers will be rebranded as Supercomputing Frontiers Asia (SCFA), which serves as the technical programme for SCA18. The technical programme for SCA18 consists of four tracks: Application, Algorithms & Libraries Programming System Software Architecture, Network/Communications & Management Data, Storage & Visualisation The 20 papers presented in this volume were carefully reviewed nd selected from 60 submissions.

OpenCL Programming Guide

Download OpenCL Programming Guide PDF Online Free

Author :
Publisher : Pearson Education
ISBN 13 : 0132594552
Total Pages : 649 pages
Book Rating : 4.1/5 (325 download)

DOWNLOAD NOW!


Book Synopsis OpenCL Programming Guide by : Aaftab Munshi

Download or read book OpenCL Programming Guide written by Aaftab Munshi and published by Pearson Education. This book was released on 2011-07-07 with total page 649 pages. Available in PDF, EPUB and Kindle. Book excerpt: Using the new OpenCL (Open Computing Language) standard, you can write applications that access all available programming resources: CPUs, GPUs, and other processors such as DSPs and the Cell/B.E. processor. Already implemented by Apple, AMD, Intel, IBM, NVIDIA, and other leaders, OpenCL has outstanding potential for PCs, servers, handheld/embedded devices, high performance computing, and even cloud systems. This is the first comprehensive, authoritative, and practical guide to OpenCL 1.1 specifically for working developers and software architects. Written by five leading OpenCL authorities, OpenCL Programming Guide covers the entire specification. It reviews key use cases, shows how OpenCL can express a wide range of parallel algorithms, and offers complete reference material on both the API and OpenCL C programming language. Through complete case studies and downloadable code examples, the authors show how to write complex parallel programs that decompose workloads across many different devices. They also present all the essentials of OpenCL software performance optimization, including probing and adapting to hardware. Coverage includes Understanding OpenCL’s architecture, concepts, terminology, goals, and rationale Programming with OpenCL C and the runtime API Using buffers, sub-buffers, images, samplers, and events Sharing and synchronizing data with OpenGL and Microsoft’s Direct3D Simplifying development with the C++ Wrapper API Using OpenCL Embedded Profiles to support devices ranging from cellphones to supercomputer nodes Case studies dealing with physics simulation; image and signal processing, such as image histograms, edge detection filters, Fast Fourier Transforms, and optical flow; math libraries, such as matrix multiplication and high-performance sparse matrix multiplication; and more Source code for this book is available at https://code.google.com/p/opencl-book-samples/

CUDA Programming

Download CUDA Programming PDF Online Free

Author :
Publisher : Newnes
ISBN 13 : 0124159338
Total Pages : 592 pages
Book Rating : 4.1/5 (241 download)

DOWNLOAD NOW!


Book Synopsis CUDA Programming by : Shane Cook

Download or read book CUDA Programming written by Shane Cook and published by Newnes. This book was released on 2012-11-13 with total page 592 pages. Available in PDF, EPUB and Kindle. Book excerpt: 'CUDA Programming' offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, then delving into CUDA installation.

CUDA by Example

Download CUDA by Example PDF Online Free

Author :
Publisher : Addison-Wesley Professional
ISBN 13 : 0132180138
Total Pages : 524 pages
Book Rating : 4.1/5 (321 download)

DOWNLOAD NOW!


Book Synopsis CUDA by Example by : Jason Sanders

Download or read book CUDA by Example written by Jason Sanders and published by Addison-Wesley Professional. This book was released on 2010-07-19 with total page 524 pages. Available in PDF, EPUB and Kindle. Book excerpt: CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required—just the ability to program in a modestly extended version of C. CUDA by Example, written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You’ll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance. Major topics covered include Parallel programming Thread cooperation Constant memory and events Texture memory Graphics interoperability Atomics Streams CUDA C on multiple GPUs Advanced atomics Additional CUDA resources All the CUDA software tools you’ll need are freely available for download from NVIDIA. http://developer.nvidia.com/object/cuda-by-example.html

Parallel Programming

Download Parallel Programming PDF Online Free

Author :
Publisher : Morgan Kaufmann
ISBN 13 : 0128044861
Total Pages : 418 pages
Book Rating : 4.1/5 (28 download)

DOWNLOAD NOW!


Book Synopsis Parallel Programming by : Bertil Schmidt

Download or read book Parallel Programming written by Bertil Schmidt and published by Morgan Kaufmann. This book was released on 2017-11-20 with total page 418 pages. Available in PDF, EPUB and Kindle. Book excerpt: Parallel Programming: Concepts and Practice provides an upper level introduction to parallel programming. In addition to covering general parallelism concepts, this text teaches practical programming skills for both shared memory and distributed memory architectures. The authors' open-source system for automated code evaluation provides easy access to parallel computing resources, making the book particularly suitable for classroom settings. - Covers parallel programming approaches for single computer nodes and HPC clusters: OpenMP, multithreading, SIMD vectorization, MPI, UPC++ - Contains numerous practical parallel programming exercises - Includes access to an automated code evaluation tool that enables students the opportunity to program in a web browser and receive immediate feedback on the result validity of their program - Features an example-based teaching of concept to enhance learning outcomes

GPU Gems 2

Download GPU Gems 2 PDF Online Free

Author :
Publisher : Addison-Wesley Professional
ISBN 13 : 9780321335593
Total Pages : 814 pages
Book Rating : 4.3/5 (355 download)

DOWNLOAD NOW!


Book Synopsis GPU Gems 2 by : Matt Pharr

Download or read book GPU Gems 2 written by Matt Pharr and published by Addison-Wesley Professional. This book was released on 2005 with total page 814 pages. Available in PDF, EPUB and Kindle. Book excerpt: More useful techniques, tips, and tricks for harnessing the power of the new generation of powerful GPUs.

CUDA Fortran for Scientists and Engineers

Download CUDA Fortran for Scientists and Engineers PDF Online Free

Author :
Publisher : Elsevier
ISBN 13 : 0124169724
Total Pages : 339 pages
Book Rating : 4.1/5 (241 download)

DOWNLOAD NOW!


Book Synopsis CUDA Fortran for Scientists and Engineers by : Gregory Ruetsch

Download or read book CUDA Fortran for Scientists and Engineers written by Gregory Ruetsch and published by Elsevier. This book was released on 2013-09-11 with total page 339 pages. Available in PDF, EPUB and Kindle. Book excerpt: CUDA Fortran for Scientists and Engineers shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison. Leverage the power of GPU computing with PGI’s CUDA Fortran compiler Gain insights from members of the CUDA Fortran language development team Includes multi-GPU programming in CUDA Fortran, covering both peer-to-peer and message passing interface (MPI) approaches Includes full source code for all the examples and several case studies Download source code and slides from the book's companion website

Parallel Programming for Modern High Performance Computing Systems

Download Parallel Programming for Modern High Performance Computing Systems PDF Online Free

Author :
Publisher : CRC Press
ISBN 13 : 1351385801
Total Pages : 330 pages
Book Rating : 4.3/5 (513 download)

DOWNLOAD NOW!


Book Synopsis Parallel Programming for Modern High Performance Computing Systems by : Pawel Czarnul

Download or read book Parallel Programming for Modern High Performance Computing Systems written by Pawel Czarnul and published by CRC Press. This book was released on 2018-03-05 with total page 330 pages. Available in PDF, EPUB and Kindle. Book excerpt: In view of the growing presence and popularity of multicore and manycore processors, accelerators, and coprocessors, as well as clusters using such computing devices, the development of efficient parallel applications has become a key challenge to be able to exploit the performance of such systems. This book covers the scope of parallel programming for modern high performance computing systems. It first discusses selected and popular state-of-the-art computing devices and systems available today, These include multicore CPUs, manycore (co)processors, such as Intel Xeon Phi, accelerators, such as GPUs, and clusters, as well as programming models supported on these platforms. It next introduces parallelization through important programming paradigms, such as master-slave, geometric Single Program Multiple Data (SPMD) and divide-and-conquer. The practical and useful elements of the most popular and important APIs for programming parallel HPC systems are discussed, including MPI, OpenMP, Pthreads, CUDA, OpenCL, and OpenACC. It also demonstrates, through selected code listings, how selected APIs can be used to implement important programming paradigms. Furthermore, it shows how the codes can be compiled and executed in a Linux environment. The book also presents hybrid codes that integrate selected APIs for potentially multi-level parallelization and utilization of heterogeneous resources, and it shows how to use modern elements of these APIs. Selected optimization techniques are also included, such as overlapping communication and computations implemented using various APIs. Features: Discusses the popular and currently available computing devices and cluster systems Includes typical paradigms used in parallel programs Explores popular APIs for programming parallel applications Provides code templates that can be used for implementation of paradigms Provides hybrid code examples allowing multi-level parallelization Covers the optimization of parallel programs

Hands-On GPU Programming with CUDA

Download Hands-On GPU Programming with CUDA PDF Online Free

Author :
Publisher :
ISBN 13 : 9781788996242
Total Pages : 508 pages
Book Rating : 4.9/5 (962 download)

DOWNLOAD NOW!


Book Synopsis Hands-On GPU Programming with CUDA by : Jaegeun Han

Download or read book Hands-On GPU Programming with CUDA written by Jaegeun Han and published by . This book was released on 2019-09-27 with total page 508 pages. Available in PDF, EPUB and Kindle. Book excerpt: Explore different GPU programming methods using libraries and directives, such as OpenACC, with extension to languages such as C, C++, and Python Key Features Learn parallel programming principles and practices and performance analysis in GPU computing Get to grips with distributed multi GPU programming and other approaches to GPU programming Understand how GPU acceleration in deep learning models can improve their performance Book Description Compute Unified Device Architecture (CUDA) is NVIDIA's GPU computing platform and application programming interface. It's designed to work with programming languages such as C, C++, and Python. With CUDA, you can leverage a GPU's parallel computing power for a range of high-performance computing applications in the fields of science, healthcare, and deep learning. Learn CUDA Programming will help you learn GPU parallel programming and understand its modern applications. In this book, you'll discover CUDA programming approaches for modern GPU architectures. You'll not only be guided through GPU features, tools, and APIs, you'll also learn how to analyze performance with sample parallel programming algorithms. This book will help you optimize the performance of your apps by giving insights into CUDA programming platforms with various libraries, compiler directives (OpenACC), and other languages. As you progress, you'll learn how additional computing power can be generated using multiple GPUs in a box or in multiple boxes. Finally, you'll explore how CUDA accelerates deep learning algorithms, including convolutional neural networks (CNNs) and recurrent neural networks (RNNs). By the end of this CUDA book, you'll be equipped with the skills you need to integrate the power of GPU computing in your applications. What you will learn Understand general GPU operations and programming patterns in CUDA Uncover the difference between GPU programming and CPU programming Analyze GPU application performance and implement optimization strategies Explore GPU programming, profiling, and debugging tools Grasp parallel programming algorithms and how to implement them Scale GPU-accelerated applications with multi-GPU and multi-nodes Delve into GPU programming platforms with accelerated libraries, Python, and OpenACC Gain insights into deep learning accelerators in CNNs and RNNs using GPUs Who this book is for This beginner-level book is for programmers who want to delve into parallel computing, become part of the high-performance computing community and build modern applications. Basic C and C++ programming experience is assumed. For deep learning enthusiasts, this book covers Python InterOps, DL libraries, and practical examples on performance estimation.

CUDA Application Design and Development

Download CUDA Application Design and Development PDF Online Free

Author :
Publisher : Elsevier
ISBN 13 : 0123884268
Total Pages : 338 pages
Book Rating : 4.1/5 (238 download)

DOWNLOAD NOW!


Book Synopsis CUDA Application Design and Development by : Rob Farber

Download or read book CUDA Application Design and Development written by Rob Farber and published by Elsevier. This book was released on 2011-10-31 with total page 338 pages. Available in PDF, EPUB and Kindle. Book excerpt: The book then details the thought behind CUDA and teaches how to create, analyze, and debug CUDA applications. Throughout, the focus is on software engineering issues: how to use CUDA in the context of existing application code, with existing compilers, languages, software tools, and industry-standard API libraries."--Pub. desc.

Parallel and High Performance Computing

Download Parallel and High Performance Computing PDF Online Free

Author :
Publisher : Simon and Schuster
ISBN 13 : 1638350388
Total Pages : 702 pages
Book Rating : 4.6/5 (383 download)

DOWNLOAD NOW!


Book Synopsis Parallel and High Performance Computing by : Robert Robey

Download or read book Parallel and High Performance Computing written by Robert Robey and published by Simon and Schuster. This book was released on 2021-08-24 with total page 702 pages. Available in PDF, EPUB and Kindle. Book excerpt: Parallel and High Performance Computing offers techniques guaranteed to boost your code’s effectiveness. Summary Complex calculations, like training deep learning models or running large-scale simulations, can take an extremely long time. Efficient parallel programming can save hours—or even days—of computing time. Parallel and High Performance Computing shows you how to deliver faster run-times, greater scalability, and increased energy efficiency to your programs by mastering parallel techniques for multicore processor and GPU hardware. About the technology Write fast, powerful, energy efficient programs that scale to tackle huge volumes of data. Using parallel programming, your code spreads data processing tasks across multiple CPUs for radically better performance. With a little help, you can create software that maximizes both speed and efficiency. About the book Parallel and High Performance Computing offers techniques guaranteed to boost your code’s effectiveness. You’ll learn to evaluate hardware architectures and work with industry standard tools such as OpenMP and MPI. You’ll master the data structures and algorithms best suited for high performance computing and learn techniques that save energy on handheld devices. You’ll even run a massive tsunami simulation across a bank of GPUs. What's inside Planning a new parallel project Understanding differences in CPU and GPU architecture Addressing underperforming kernels and loops Managing applications with batch scheduling About the reader For experienced programmers proficient with a high-performance computing language like C, C++, or Fortran. About the author Robert Robey works at Los Alamos National Laboratory and has been active in the field of parallel computing for over 30 years. Yuliana Zamora is currently a PhD student and Siebel Scholar at the University of Chicago, and has lectured on programming modern hardware at numerous national conferences. Table of Contents PART 1 INTRODUCTION TO PARALLEL COMPUTING 1 Why parallel computing? 2 Planning for parallelization 3 Performance limits and profiling 4 Data design and performance models 5 Parallel algorithms and patterns PART 2 CPU: THE PARALLEL WORKHORSE 6 Vectorization: FLOPs for free 7 OpenMP that performs 8 MPI: The parallel backbone PART 3 GPUS: BUILT TO ACCELERATE 9 GPU architectures and concepts 10 GPU programming model 11 Directive-based GPU programming 12 GPU languages: Getting down to basics 13 GPU profiling and tools PART 4 HIGH PERFORMANCE COMPUTING ECOSYSTEMS 14 Affinity: Truce with the kernel 15 Batch schedulers: Bringing order to chaos 16 File operations for a parallel world 17 Tools and resources for better code