Learn to solve parallel problems with GPU-accelerated C++ code and create reusable libraries that can be accessed from other programming languages Key Features Harness the power of GPU parallelism to accelerate real-world tasks Scale performance with multi-GPU support and custom C++ solutions Create reusable GPU libraries and expose them to Python seamlessly Book DescriptionWritten by Paulo Motta, a senior researcher with decades of experience, the book combines expert guidance with real-world problem solving. This comprehensive GPU programming book is an essential guide for leveraging the power of parallelism to accelerate your computations. The first section introduces the concept of parallelism, offering practical insights on how to think about and effectively utilize it. You will start with a basic GPU program, gaining hands-on experience in managing the device. This foundational knowledge is then expanded by parallelizing the program to illustrate how GPUs enhance performance. The second section explores GPU architecture and implementation strategies for parallel algorithms. It offers practical insights into optimizing resource usage for efficient execution. In the final section, you will explore advanced topics such as utilizing multiple GPUs. You will also learn how to package and distribute your GPU-accelerated libraries for the Python ecosystem, extending the reach and impact of your work. This book is a valuable resource for developers and researchers aiming to harness the full potential of GPU computing. It offers a blend of theoretical foundations, practical programming techniques, and advanced optimization strategies to help you succeed in the fast-evolving field of GPU programming.What you will learn Manage GPU devices and accelerate your applications Apply parallelism effectively using CUDA and C++ Choose between existing libraries and custom GPU solutions Package GPU code into libraries for use with Python Scale workloads using multiple GPUs on local or networked systems Implement optimization strategies for resource-efficient execution Who this book is forC++ developers and programmers interested in accelerating applications using GPU programming will benefit from this book. It is suitable for those with solid C++ experience who want to explore high-performance computing techniques. Familiarity with operating system fundamentals will help when dealing with device memory and communication in advanced chapters.
About the AuthorPaulo Motta completed the PhD in Computer Science with an emphasis in parallel systems at PUC-Rio in 2011. Currently, Paulo Motta is a Senior Research Software Development Engineer at Microsoft and a postdoctoral researcher on quantum walks simulations with Hiperwalk at the National Scientific Computing Laboratory in Brazil. Paulo is a senior member of IEEE Computer Society with over 25 years' experience in software development and 9 years experience as a university professor.
Book InformationISBN 9781805124542
Author Paulo MottaFormat Paperback
Imprint Packt Publishing LimitedPublisher Packt Publishing Limited