Heterogeneous Computing with OpenCL

Heterogeneous Computing with OpenCL
-0 %
Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.
 EPUB
Sofort lieferbar | Lieferzeit: Sofort lieferbar

Unser bisheriger Preis:ORGPRICE: 64,20 €

Jetzt 53,76 €* EPUB

Artikel-Nr:
9780123877673
Veröffentl:
2011
Einband:
EPUB
Seiten:
296
Autor:
Benedict Gaster
eBook Typ:
EPUB
eBook Format:
EPUB
Kopierschutz:
Adobe DRM [Hard-DRM]
Sprache:
Englisch
Beschreibung:

Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. The authors explore memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. Intended to support a parallel programming course, Heterogeneous Computing with OpenCL includes detailed examples throughout, plus additional online exercises and other supporting materials. Explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications. Covers image processing, web plugins, particle simulations, video editing, performance optimization, and more. Shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architectures Addresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms
Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. The authors explore memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. Intended to support a parallel programming course, Heterogeneous Computing with OpenCL includes detailed examples throughout, plus additional online exercises and other supporting materials. Explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications. Covers image processing, web plugins, particle simulations, video editing, performance optimization, and more. Shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architectures Addresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms
1;Front Cover;12;HeterogeneousComputing with OpenCL;43;Copyright;54;Contents;65;Foreword;86;Preface;126.1;Our Heterogeneous World;126.2;OpenCL;126.3;This Text;127;Acknowledgments;148;About the Authors;169;Chapter 1: Introduction to Parallel Programming;189.1;Introduction;189.2;OpenCL;189.3;The Goals of This Book;199.4;Thinking Parallel;199.5;Concurrency and Parallel Programming Models;239.6;Structure;289.7;Reference;299.8;Further Reading and Relevant Websites;3010;Chapter 2: Introduction to OpenCL;3210.1;Introduction;3210.2;Platform and Devices;3610.3;The Execution Environment;3810.4;Memory Model;4610.5;Writing Kernels;4810.6;Full Source Code Example for Vector Addition;4910.7;Summary;5610.8;Reference;5611;Chapter 3: OpenCL Device Architectures;5811.1;Introduction;5811.2;Hardware trade-offs;5811.3;The architectural design space;7211.4;Summary;8111.5;References;8212;Chapter 4: Basic OpenCL Examples;8412.1;Introduction;8412.2;Example Applications;8412.3;Compiling OpenCL Host Applications;10112.4;Summary;10213;Chapter 5: Understanding OpenCL's Concurrency and Execution Model;10413.1;Introduction;10413.2;Kernels, Work-Items, Workgroups, and the Execution Domain;10413.3;OpenCL Synchronization: Kernels, Fences, and Barriers;10713.4;Queuing and Global Synchronization;11113.5;The Host-Side Memory Model;12613.6;The Device-Side Memory Model;13213.7;Summary;13914;Chapter 6: Dissecting a CPU/GPU OpenCL Implementation;14014.1;Introduction;14014.2;OpenCL on an AMD Phenom II X6;14014.3;OpenCL on the AMD Radeon HD6970 GPU;14514.4;Memory Performance Considerations in OpenCL;15614.5;Summary;16514.6;References;16615;Chapter 7: OpenCL Case Study;16815.1;Introduction;16815.2;Convolution Kernel;16815.3;Conclusions;17815.4;Code Listings;17915.5;Reference;18816;Chapter 8: OpenCL Case Study;19016.1;Introduction;19016.2;Getting Video Frames;19016.3;Processing a Video in OpenCL;19616.4;Processing Multiple Videos with Multiple Special Effects;19716.5;Display to Screen of Final Output;19816.6;Summary;20117;Chapter 9: OpenCL Case Study;20217.1;Introduction;20217.2;Choosing the Number of Workgroups;20217.3;Choosing the Optimal Workgroup Size;20317.4;Optimizing Global Memory Data Access Patterns;20417.5;Using Atomics to Perform Local Histogram;20617.6;Optimizing Local Memory Access;20717.7;Local Histogram Reduction;20917.8;The Global Reduction;21017.9;Full Kernel Code;21017.10;Performance and Summary;21318;Chapter 10: OpenCL Case Study;21418.1;Introduction;21418.2;Overview of the Computation;21518.3;GPU Implementation;21718.4;CPU Implementation;21918.5;Load Balancing;22018.6;Performance and Summary;22118.7;Kernel for Uniform Grid Creation;22218.8;Kernels for Simulation;22319;Chapter 11: OpenCL Extensions;22819.1;Introduction;22819.2;Overview of Extension Mechanism;22819.3;Device Fission;23119.4;Double Precision;24219.5;References;25020;Chapter 12: OpenCL Profiling and Debugging;25220.1;Introduction;25220.2;Profiling with Events;25320.3;AMD Accelerated Parallel Processing Profiler;25520.4;AMD Accelerated Parallel Processing KernelAnalyzer;26020.5;Walking through the AMD APP Profiler;26220.6;Debugging OpenCL Applications;26520.7;Overview of gDEBugger;26620.8;AMD Printf Extension;26820.9;Conclusion;27021;Chapter 13: WebCL;27221.1;Introduction;27221.2;Designing the Framework;27321.3;WebCL Pilot Implementation;27421.4;WebCL Hands-on;27721.5;Web Photo Editor;28121.6;Discussion;28321.7;Summary;28521.8;Reference;28521.9;Further Reading and Relevant Websites;28622;Index;288

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.