Hands-On GPU Programming with Python and CUDA

0
(0)

Hands-On GPU Programming with Python and CUDA
 

  • Author:Dr. Brian Tuomanen
  • Length: 310 pages
  • Edition: 1
  • Publisher: Packt Publishing
  • Publication Date: 2018-11-27
  • ISBN-10: 1788993918
  • ISBN-13: 9781788993913
  • Sales Rank: #687248 (See Top 100 Books)
  • Download:Register/Login to Download
  • Buy Print:Buy from amazon


    Book Description

    Build real-world applications with Python 2.7, CUDA 9, and CUDA 10. We suggest the use of Python 2.7 over Python 3.x, since Python 2.7 has stable support across all the libraries we use in this book.

    Key Features

    • Expand your background in GPU programming―PyCUDA, scikit-cuda, and Nsight
    • Effectively use CUDA libraries such as cuBLAS, cuFFT, and cuSolver
    • Apply GPU programming to modern data science applications

    Book Description

    Hands-On GPU Programming with Python and CUDA hits 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 an appropriate GPU programming environment. You’ll then see how to “query” the GPU’s features and copy arrays of data to and from the GPU’s own memory.

    As you make your way through the book, you’ll launch code directly onto the GPU and write full blown GPU kernels and device functions in CUDA C. You’ll get to grips with profiling GPU code effectively and fully test and debug your code using Nsight IDE. Next, you’ll explore some of the more well-known NVIDIA libraries, such as cuFFT and cuBLAS.

    With a solid background in place, you will now apply your new-found knowledge to develop your very own GPU-based deep neural network from scratch. You’ll then explore advanced topics, such as warp shuffling, dynamic parallelism, and PTX assembly. In the final chapter, you’ll see some topics and applications related to GPU programming that you may wish to pursue, including AI, graphics, and blockchain.

    By the end of this book, you will be able to apply GPU programming to problems related to data science and high-performance computing.

    What you will learn

    • Launch GPU code directly from Python
    • Write effective and efficient GPU kernels and device functions
    • Use libraries such as cuFFT, cuBLAS, and cuSolver
    • Debug and profile your code with Nsight and Visual Profiler
    • Apply GPU programming to datascience problems
    • Build a GPU-based deep neuralnetwork from scratch
    • Explore advanced GPU hardware features, such as warp shuffling

    Who this book is for

    Hands-On GPU Programming with Python and CUDA is for developers and data scientists who want to learn the basics of effective GPU programming to improve performance using Python code. You should have an understanding of first-year college or university-level engineering mathematics and physics, and have some experience with Python as well as in any C-based programming language such as C, C++, Go, or Java.

    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

    中文:

    书名:Hands-On GPU Programming with Python and CUDA

    使用Python2.7、CUDA 9和CUDA 10构建真实世界的应用程序。我们建议使用Python2.7而不是Python3.x,因为我们在本书中使用的所有库都稳定支持Python2.7。

    Key Features

    • 扩展您在GPU编程方面的背景–PyCUDA、SCRICKIT-CUDA和NSight
    • 有效使用CUDA库,如cuBLAS、cuFFT和cuSolver
    • 将GPU编程应用于现代数据科学应用

    Book Description

    使用Python和CUDA进行实际操作的GPU编程已初见成效:您将从学习如何应用Amdahl‘s Law开始,使用代码分析器来识别您的Python代码中的瓶颈,并设置合适的GPU编程环境。然后,您将了解如何“查询”GPU的功能,以及如何将数据数组复制到GPU自身的内存以及从GPU自身的内存中复制数据数组。

    在阅读本书的过程中,您将直接在GPU上启动代码,并使用CUDA C编写成熟的GPU内核和设备函数。您将掌握如何有效地评测GPU代码,并使用NSight IDE全面测试和调试您的代码。接下来,您将探索一些更知名的NVIDIA库,例如cuFFT和cuBLAS。

    有了扎实的背景知识,您现在将应用新发现的知识从头开始开发您自己的基于GPU的深度神经网络。然后,您将探索高级主题,如翘曲洗牌、动态并行和PTX汇编。在最后一章中,您将看到一些与GPU编程相关的主题和应用,包括人工智能、图形和区块链。

    到本书结束时,您将能够将GPU编程应用于与数据科学和高性能计算相关的问题。

    你将学到什么

    • Launch GPU code directly from Python
    • 编写高效的GPU内核和设备函数
    • Use libraries such as cuFFT, cuBLAS, and cuSolver
    • 使用NSight和Visual Profiler调试和分析您的代码
    • Apply GPU programming to datascience problems
    • Build a GPU-based deep neuralnetwork from scratch
    • 探索高级GPU硬件功能,如扭曲洗牌

    这本书是为谁而写的

    使用Python和CUDA进行GPU编程是为希望学习有效的GPU编程的基础知识以使用Python代码提高性能的开发人员和数据科学家而设计的。您应该了解一年级的学院或大学级别的工程数学和物理,并具有一些使用Python以及任何基于C的编程语言(如C、C++、GO或Java)的经验。

    目录表

    1. 为什么选择GPU编程?
    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. 将CUDA图书馆与Scikit结合使用-CUDA草稿完成
    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. 从这里到哪里去
  • 下载电子版:下载地址
  • 购买纸质版:亚马逊商城

    点击星号评分!

    平均分 0 / 5. 投票数: 0

    还没有投票!请为他投一票。

  • 推荐阅读

    评论 抢沙发

    评论前必须登录!

     

    登录

    找回密码

    注册