Heterogeneous Computing with OpenCL 2.0

┬╖ ┬╖ ┬╖
┬╖ Morgan Kaufmann
рей.рей
рей рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВ
рдЗ-рдкреБрд╕реНрддрдХ
330
рдкреГрд╖реНрдард╣рд░реВ
рдпреЛрдЧреНрдп

рдпреЛ рдЗ-рдкреБрд╕реНрддрдХрдХрд╛ рдмрд╛рд░реЗрдорд╛

Heterogeneous Computing with OpenCL 2.0

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). This fully-revised edition includes the latest enhancements in OpenCL 2.0 including:

тАв Shared virtual memory to increase programming flexibility and reduce data transfers that consume resources тАв Dynamic parallelism which reduces processor load and avoids bottlenecks тАв Improved imaging support and integration with OpenGL

Designed to work on multiple platforms, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book explores memory spaces, optimization techniques, extensions, debugging and profiling. Multiple case studies and examples illustrate high-performance algorithms, distributing work across heterogeneous systems, embedded domain-specific languages, and will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms.

  • Updated content to cover the latest developments in OpenCL 2.0, including improvements in memory handling, parallelism, and imaging support
  • Explanations of principles and strategies to learn parallel programming with OpenCL, from understanding the abstraction models to thoroughly testing and debugging complete applications
  • Example code covering image analytics, web plugins, particle simulations, video editing, performance optimization, and more

рдореВрд▓реНрдпрд╛рдЩреНрдХрди рд░ рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВ

рей.рей
рей рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВ

рд▓реЗрдЦрдХрдХреЛ рдмрд╛рд░реЗрдорд╛

David Kaeli received a BS and PhD in Electrical Engineering from Rutgers University, and an MS in Computer Engineering from Syracuse University. He is the Associate Dean of Undergraduate Programs in the College of Engineering and a Full Processor on the ECE faculty at Northeastern University, Boston, MA where he directs the Northeastern University Computer Architecture Research Laboratory (NUCAR). Prior to joining Northeastern in 1993, Kaeli spent 12 years at IBM, the last 7 at T.J. Watson Research Center, Yorktown Heights, NY.Dr. Kaeli has co-authored more than 200 critically reviewed publications. His research spans a range of areas including microarchitecture to back-end compilers and software engineering. He leads a number of research projects in the area of GPU Computing. He presently serves as the Chair of the IEEE Technical Committee on Computer Architecture. Dr. Kaeli is an IEEE Fellow and a member of the ACM.

Perhaad Mistry works in AMDтАЩs developer tools group at the Boston Design Center focusing on developing debugging and performance profiling tools for heterogeneous architectures. He is presently focused on debugger architectures for upcoming platforms shared memory and discrete Graphics Processing Unit (GPU) platforms. Perhaad has been working on GPU architectures and parallel programming since CUDA 0.8 in 2007. He has enjoyed implementing medical imaging algorithms for GPGPU platforms and architecture aware data structures for surgical simulators. Perhaad's present work focuses on the design of debuggers and architectural support for performance analysis for the next generation of applications that will target GPU platforms. Perhaad graduated after 7 years with a PhD from Northeastern University in Electrical and Computer Engineering and was advised by Dr. David Kaeli who the leads Northeastern University Computer Architecture Research Laboratory (NUCAR). Even after graduating, Perhaad is still a member of NUCAR and is advising on research projects on performance analysis of parallel architectures. He received a BS in Electronics Engineering from University of Mumbai and an MS in Computer Engineering from Northeastern University in Boston. He is presently based in Boston.

Dana Schaa received a BS in Computer Engineering from Cal Poly, San Luis Obispo, and an MS and PhD in Electrical and Computer Engineering from Northeastern University. He works on GPU architecture modeling at AMD, and has interests and expertise that include memory systems, microarchitecture, performance analysis, and general purpose computing on GPUs. His background includes the development OpenCL-based medical imaging applications ranging from real-time visualization of 3D ultrasound to CT image reconstruction in heterogeneous environments. Dana married his wonderful wife Jenny in 2010, and they live together in San Jose with their charming cats.

рдпреЛ рдЗ-рдкреБрд╕реНрддрдХрдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореАрд▓рд╛рдИ рдЖрдлреНрдиреЛ рдзрд╛рд░рдгрд╛ рдмрддрд╛рдЙрдиреБрд╣реЛрд╕реНред

рдЬрд╛рдирдХрд╛рд░реА рдкрдвреНрджреИ

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рддрдерд╛ рдЯреНрдпрд╛рдмрд▓реЗрдЯрд╣рд░реВ
Android рд░ iPad/iPhone рдХрд╛ рд▓рд╛рдЧрд┐┬аGoogle Play рдХрд┐рддрд╛рдм рдПрдк рдХреЛ рдЗрдиреНрд╕реНрдЯрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рддрдкрд╛рдИрдВрдХреЛ рдЦрд╛рддрд╛рд╕реЕрдВрдЧ рд╕реНрд╡рддрдГ рд╕рд┐рдВрдХ рд╣реБрдиреНрдЫ рд░ рддрдкрд╛рдИрдВ рдЕрдирд▓рд╛рдЗрди рд╡рд╛ рдЕрдлрд▓рд╛рдЗрди рдЬрд╣рд╛рдБ рднрдП рдкрдирд┐┬ардЕрдзреНрдпрдпрди рдЧрд░реНрди рджрд┐рдиреНрдЫред
рд▓реНрдпрд╛рдкрдЯрдк рддрдерд╛ рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВ
рддрдкрд╛рдИрдВ Google Play рдорд╛ рдЦрд░рд┐рдж рдЧрд░рд┐рдПрдХреЛ рдЕрдбрд┐рдпреЛрдмреБрдХ рдЖрдлреНрдиреЛ рдХрдореНрдкреНрдпреБрдЯрд░рдХреЛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реБрдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
eReaders рд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВ
Kobo eReaders рдЬрд╕реНрддрд╛ e-ink рдбрд┐рднрд╛рдЗрд╕рд╣рд░реВрдорд╛ рдлрд╛рдЗрд▓ рдкрдвреНрди рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗрд░ рдЙрдХреНрдд рдлрд╛рдЗрд▓ рдЖрдлреНрдиреЛ рдбрд┐рднрд╛рдЗрд╕рдорд╛ рдЯреНрд░рд╛рдиреНрд╕реНрдлрд░ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рд╣реБрдиреНрдЫред рддреА рдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрди рдорд┐рд▓реНрдиреЗ рдЗрдмреБрдХ рд░рд┐рдбрд░рд╣рд░реВрдорд╛ рддреА рдлрд╛рдЗрд▓рд╣рд░реВ рдЯреНрд░рд╛рдиреНрд╕реНрдлрд░ рдЧрд░реНрдиреЗрд╕рдореНрдмрдиреНрдзреА рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдорджреНрджрдд рдХреЗрдиреНрджреНрд░ рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред