Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Hands-On GPU Programming with Python and CUDA: Explore high-performance parallel computing with CUDA

Buy

Build GPU-accelerated high performing applications with Python 2.7, CUDA 9, and open source libraries such as PyCUDA and scikit-cuda. We recommend the use of Python 2.7 as this version has stable support across all libraries used in this book.

Key Features

  • Get to grips with GPU programming tools such as PyCUDA, scikit-cuda, and Nsight
  • Explore CUDA libraries such as cuBLAS, cuFFT, and cuSolver
  • Apply GPU programming to modern data science applications

Book Description

GPU programming is the technique of offloading intensive tasks running on the CPU for faster computing. Hands-On GPU Programming with Python and CUDA will help you discover ways to develop high performing Python apps combining the power of Python and CUDA.

This book will help you hit the ground running-you'll start by learning how to apply Amdahl's law, use a code profiler to identify bottlenecks in your Python code, and set up a GPU programming environment. You'll then see how to query a GPU's features and copy arrays of data to and from its memory. As you make your way through the book, you'll run your code directly on the GPU and write full blown GPU kernels and device functions in CUDA C. You'll even get to grips with profiling GPU code and fully test and debug your code using Nsight IDE. Furthermore, the book covers some well-known NVIDIA libraries such as cuFFT and cuBLAS.

With a solid background in place, you'll be able to develop your very own GPU-based deep neural network from scratch, and explore advanced topics such as warp shuffling, dynamic parallelism, and PTX assembly. Finally, you'll touch up on topics and applications like AI, graphics, and blockchain.

By the end of this book, you'll be confident in solving problems related to data science and high-performance computing with GPU programming.

What you will learn

  • Write effective and efficient GPU kernels and device functions
  • Work with libraries such as cuFFT, cuBLAS, and cuSolver
  • Debug and profile your code with Nsight and Visual Profiler
  • Apply GPU programming to data science problems
  • Build a GPU-based deep neural network from scratch
  • Explore advanced GPU hardware features such as warp shuffling

Who this book is for

This book is for developers and data scientists who want to learn the basics of effective GPU programming to improve performance using Python code. Familiarity with mathematics and physics concepts along with some experience with Python and any C-based programming language will be helpful.

Table of Contents

  1. Why GPU Programming?
  2. Setting Up Your GPU Programming Environment
  3. Getting Started with PyCUDA
  4. Kernels, Threads, Blocks, and Grids
  5. Streams, Events, Contexts, and Concurrency
  6. Debugging and Profiling Your CUDA Code
  7. Using the CUDA Libraries with Scikit-CUDA Draft complete
  8. The CUDA Device Function Libraries and Thrust
  9. Implementing a Deep Neural Network
  10. Working with Compiled GPU Code
  11. Performance Optimization in CUDA
  12. Where to Go from Here
(HTML tags aren't allowed.)

Alfresco CMIS
Alfresco CMIS

Everything you need to know to start coding integrations with a content management server such as Alfresco in a standard way

About This Book

  • Understand what is unique about Alfresco's CMIS implementation and put your learning into practice
  • Talk to content management servers in a...
Linux Recipes for Oracle DBAs (Recipes: a Problem-Solution Approach)
Linux Recipes for Oracle DBAs (Recipes: a Problem-Solution Approach)

Linux Recipes for Oracle DBAs is an example–based book on managing Oracle Database in a Linux environment. Covering commonly used distributions such as Red Hat Enterprise Linux and Oracle Enterprise Linux, the book is written for database administrators who need to get work done and lack the luxury of curling up fireside with a...

Machining Technology: Machine Tools and Operations
Machining Technology: Machine Tools and Operations
Offering complete coverage of the technologies, machine tools, and operations of a wide range of machining processes, Machining Technology presents the fundamental principles of machining and examines traditional and nontraditional machining methods. After a brief historical overview, the book explores design considerations and...

TypeScript Revealed
TypeScript Revealed

TypeScript Revealed is a quick 100-page guide to Anders Hejlsberg's new take on JavaScript. With this brief, fast-paced introduction to TypeScript, .NET, Web and Windows 8 application developers who are already familiar with JavaScript will easily get up to speed with TypeScript and decide whether or not to start incorporating it...

Knowledge Mining: Proceedings of the NEMIS 2004 Final Conference
Knowledge Mining: Proceedings of the NEMIS 2004 Final Conference
This book contains the papers presented during the 3rd International Workshop on Text Mining and its Applications held in Athens, Greece. This workshop is the final event of the activities of a network of excellence in the area of text mining and its applications. Knowledge Mining includes contributions in the areas of: Document processing,...
Trends in Corrections: Interviews with Corrections Leaders Around the World (Interviews with Global Leaders in Policing, Courts, and Prisons)
Trends in Corrections: Interviews with Corrections Leaders Around the World (Interviews with Global Leaders in Policing, Courts, and Prisons)

Offering rare insiders’ perspectives, Trends in Corrections: Interviews with Corrections Leaders Around the World is a comprehensive survey of correctional programming and management styles used across nations. Twelve chapters present transcribed interviews of corrections leaders along with a brief portrait of the...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy