• Complain

Jaegeun Han - Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++

Here you can read online Jaegeun Han - Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++ full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2019, publisher: Packt Publishing, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++
  • Author:
  • Publisher:
    Packt Publishing
  • Genre:
  • Year:
    2019
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Explore different GPU programming methods using libraries and directives, such as OpenACC, with extension to languages such as C, C++, and Python

Key Features
  • Learn parallel programming principles and practices and performance analysis in GPU computing
  • Get to grips with distributed multi GPU programming and other approaches to GPU programming
  • Understand how GPU acceleration in deep learning models can improve their performance
Book Description

Compute Unified Device Architecture (CUDA) is NVIDIAs GPU computing platform and application programming interface. Its designed to work with programming languages such as C, C++, and Python. With CUDA, you can leverage a GPUs parallel computing power for a range of high-performance computing applications in the fields of science, healthcare, and deep learning.

Learn CUDA Programming will help you learn GPU parallel programming and understand its modern applications. In this book, youll discover CUDA programming approaches for modern GPU architectures. Youll not only be guided through GPU features, tools, and APIs, youll also learn how to analyze performance with sample parallel programming algorithms. This book will help you optimize the performance of your apps by giving insights into CUDA programming platforms with various libraries, compiler directives (OpenACC), and other languages. As you progress, youll learn how additional computing power can be generated using multiple GPUs in a box or in multiple boxes. Finally, youll explore how CUDA accelerates deep learning algorithms, including convolutional neural networks (CNNs) and recurrent neural networks (RNNs).

By the end of this CUDA book, youll be equipped with the skills you need to integrate the power of GPU computing in your applications.

What you will learn
  • Understand general GPU operations and programming patterns in CUDA
  • Uncover the difference between GPU programming and CPU programming
  • Analyze GPU application performance and implement optimization strategies
  • Explore GPU programming, profiling, and debugging tools
  • Grasp parallel programming algorithms and how to implement them
  • Scale GPU-accelerated applications with multi-GPU and multi-nodes
  • Delve into GPU programming platforms with accelerated libraries, Python, and OpenACC
  • Gain insights into deep learning accelerators in CNNs and RNNs using GPUs
Who this book is for

This beginner-level book is for programmers who want to delve into parallel computing, become part of the high-performance computing community and build modern applications. Basic C and C++ programming experience is assumed. For deep learning enthusiasts, this book covers Python InterOps, DL libraries, and practical examples on performance estimation.

Table of Contents
  1. Introduction to CUDA programming
  2. CUDA Memory Management
  3. CUDA Thread Programming: Performance Indicators and Optimization Strategies
  4. CUDA Kernel Execution model and optimization strategies
  5. CUDA Application Monitoring and Debugging
  6. Scalable Multi-GPU programming
  7. Parallel Programming Patterns in CUDA
  8. GPU accelerated Libraries and popular programming languages
  9. GPU programming using OpenACC
  10. Deep Learning Acceleration with CUDA
  11. Appendix

Jaegeun Han: author's other books


Who wrote Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++? Find out the surname, the name of the author of the book and a list of all author's works by series.

Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++ — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Learn CUDA Programming A beginners guide to GPU programming and parallel - photo 1
Learn CUDA Programming
A beginner's guide to GPU programming and parallel computing with CUDA 10.x and C/C++
Jaegeun Han
Bharatkumar Sharma

BIRMINGHAM - MUMBAI Learn CUDA Programming Copyright 2019 Packt Publishing - photo 2

BIRMINGHAM - MUMBAI
Learn CUDA Programming

Copyright 2019 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Commissioning Editor: Richa Tripathi
Acquisition Editor: Alok Dhuri
Content Development Editor: Digvijay Bagul
Senior Editor: Afshaan Khan
Technical Editor: Romy Dias
Copy Editor: Safis Editing
Project Coordinator: Prajakta Naik
Proofreader: Safis Editing
Indexer: Priyanka Dhadke
Production Designer: Deepika Naik

First published: September 2019

Production reference: 1270919

Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.

ISBN 978-1-78899-624-2

www.packt.com

To my wife, Kiyeon Kim, for sharing her dream with me, and my son, Kyeol Han, for showing me his joy and growth.
Jaegeun Han
To my wife, Sonali Sharma, and my child, Akshita Sharma, for believing in me.
Bharatkumar Sharma
Packtcom Subscribe to our online digital library for full access to over 7000 - photo 3

Packt.com

Subscribe to our online digital library for full access to over 7,000 books and videos, as well as industry-leading tools to help you plan your personal development and advance your career. For more information, please visit our website.

Why subscribe?
  • Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals

  • Improve your learning with Skill Plans built especially for you

  • Get a free eBook or video every month

  • Fully searchable for easy access to vital information

  • Copy and paste, print, and bookmark content

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at customercare@packtpub.com for more details.

At www.packt.com , you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.

Contributors
About the authors

Jaegeun Han is currently working as a solutions architect at NVIDIA, Korea. He has around 9 years' experience and he supports consumer internet companies in deep learning. Before NVIDIA, he worked in system software and parallel computing developments, and application development in medical and surgical robotics fields. He obtained a master's degree in CSE from Seoul National University.

I would like to thank my wife, Kiyeon Kim, for supporting of book writing and taking care of our child. I also thank my son, Kyeol Han, for his joy and curiosity, and my parents and parents-in-law for their support. I also appreciate Simon See (NVIDIA) for supporting me in authoring this book and I'm thankful to my co-author, Bharat, for joining this challenge with me. Thanks to all NVIDIA GPU experts for sharing their knowledge and opening the new era of computing.

Bharatkumar Sharma obtained a master's degree in information technology from the Indian Institute of Information Technology, Bangalore. He has around 10 years of development and research experience in the domains of software architecture and distributed and parallel computing. He is currently working with NVIDIA as a senior solutions architect, South Asia.

I would like to acknowledge my mentors who helped me at different stages in my career: Jaya Panvalkar (NVIDIA), Simon See (NVIDIA), and the one and only accelerated computing rockstar, Jensen Huang (CEO NVIDIA).
About the reviewers

Christian Stehno studied computer science, receiving his diploma from Oldenburg University, Germany, in 2000. Since then, he's worked in different fields of computer science, first as a researcher in theoretical computer science at an academic institution, before subsequently switching to embedded system design at a research institute. In 2010, he started his own company, CoSynth, which develops embedded systems and intelligent cameras for industrial automation. In addition, he is a long-time member of the Irrlicht 3D engine developer team.

Minseok Lee is a developer technology engineer at NVIDIA. He works on parallelizing and optimizing scientific and AI applications for CPU-GPU heterogeneous systems. Before joining NVIDIA, he was a C++-based library designer/developer and received an M.Eng in computer science by working on utilizing GPU architectures more efficiently.

Aidan Temple is a software engineer and lead developer at Nanotek. He has recently graduated with honors from Glasgow Caledonian University, where he received a BSc in computer games software development.

While at university, Aidan also undertook a research degree outlining the benefits of implementing GUI-based game frameworks by means of parallel processing through the utilization of NVIDIA's CUDA architecture. He also received an IGDA scholarship.

Prior to his time at university, he studied computer games development at James Watt College of Further and Higher Education. Due to his excellent understanding and demonstration of game development and design methodologies, Aidan graduated from James Watt College with a distinction in his field.

What this book covers

, Introduction to CUDA Programming , demystifies some of the myths around GPU and CUDA, and introduces the CUDA programming model with a Hello World CUDA program.

, CUDA Memory Management , introduces the GPU memory hierarchy and how to optimally utilize it with the CUDA APIs.

, CUDA Thread Programming , introduces how threads operate in the GPU, highlighting key metrics on which basis optimizations are performed.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++»

Look at similar books to Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++»

Discussion, reviews of the book Learn CUDA Programming: A beginners guide to GPU programming and parallel computing with CUDA 10.x and C/C++ and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.