GitXplorerGitXplorer
P

Learn-CUDA-Programming

public
1073 stars
247 forks
3 issues

Commits

List of commits on branch master.
Unverified
22c3c6caa9c9c8644c8307a466190332ebf2ba12

remove $5 campaign

PPackt-ITService committed 4 years ago
Unverified
abf333fe833f5b63daebcebd65a968ca1f8e4bd6

add $5 campaign

PPackt-ITService committed 4 years ago
Unverified
8fd1963eca5be04e4f2a8f5c807a1345752ee6d6

add $5 campaign

PPackt-ITService committed 4 years ago
Unverified
970689f45eea8e89096802d81254dfd923f2df12

Removed 'bc' dependency

hhaanjack committed 4 years ago
Unverified
1f2ff9bc6dece0fa8a0418dfece33411c8251a62

Set forward/backward initialization return void to simplify the content

hhaanjack committed 4 years ago
Unverified
806a15e893195468f2ea7718905d00e41fe41b2e

Removed 'bc' dependencies

hhaanjack committed 4 years ago

README

The README file for this repository.

Learn CUDA Programming

Learn CUDA Programming

This is the code repository for Learn CUDA Programming , published by Packt.

A beginner's guide to GPU programming and parallel computing with CUDA 10.x and C/C++

What is this book about?

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

This book covers the following exciting features:

  • 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

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

#include<stdio.h>
#include<stdlib.h>

__global__ void print_from_gpu(void) {
    printf("Hello World! from thread [%d,%d] \
        From device\n", threadIdx.x,blockIdx.x);
}

Following is what you need for this book: 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.

With the following software and hardware list you can run all code files present in the book (Chapter 1-10).

Software and Hardware List

Chapter Software required OS required
All CUDA Toolkit 9.x/10.x Linux
8 Matlab (later than 2010a) Linux
9 PGI Compilers 18.x/19.x Linux
10 NGC Linux

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.

Related product

Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA [Packt] [Amazon]

Get to Know 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.

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.

Suggestions and Feedback

Click here if you have any feedback or suggestions.