• Complain

Cook - CUDA Programming: A Developers Guide to Parallel Computing with GPUs

Here you can read online Cook - CUDA Programming: A Developers Guide to Parallel Computing with GPUs full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2013, publisher: Morgan Kaufmann Publishers;Elsevier Science, genre: Home and family. 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:
    CUDA Programming: A Developers Guide to Parallel Computing with GPUs
  • Author:
  • Publisher:
    Morgan Kaufmann Publishers;Elsevier Science
  • Genre:
  • Year:
    2013
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

CUDA Programming: A Developers Guide to Parallel Computing with GPUs: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "CUDA Programming: A Developers Guide to Parallel Computing with GPUs" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

CUDA Programming: A Developers Guide to Parallel Computing with GPUs — 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 "CUDA Programming: A Developers Guide to Parallel Computing with GPUs" 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
CUDA Programming A Developers Guide to Parallel Computing with GPUs Shane Cook - photo 1
CUDA Programming
A Developers Guide to Parallel Computing with GPUs

Shane Cook

Table of Contents Copyright Acquiring Editor Todd Green Development Editor - photo 2

Table of Contents
Copyright

Acquiring Editor: Todd Green

Development Editor: Robyn Day

Project Manager: Andre Cuello

Designer: Kristen Davis

Morgan Kaufmann is an imprint of Elsevier

225 Wyman Street, Waltham, MA 02451, USA

2013 Elsevier Inc. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publishers permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.

This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).

Notices

Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods or professional practices, may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information or methods described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.

To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

Library of Congress Cataloging-in-Publication Data

Application submitted

British Library Cataloguing-in-Publication Data

A catalogue record for this book is available from the British Library.

ISBN: 978-0-12-415933-4

For information on all MK publications visit our website at http://store.elsevier.com

Printed in the United States of America

13 14 10 9 8 7 6 5 4 3 2 1

Preface Over the past five years there has been a revolution in computing - photo 3

Preface

Over the past five years there has been a revolution in computing brought about by a company that for successive years has emerged as one of the premier gaming hardware manufacturersNVIDIA. With the introduction of the CUDA (Compute Unified Device Architecture) programming language, for the first time these hugely powerful graphics coprocessors could be used by everyday C programmers to offload computationally expensive work. From the embedded device industry, to home users, to supercomputers, everything has changed as a result of this.

One of the major changes in the computer software industry has been the move from serial programming to parallel programming. Here, CUDA has produced great advances. The graphics processor unit (GPU) by its very nature is designed for high-speed graphics, which are inherently parallel. CUDA takes a simple model of data parallelism and incorporates it into a programming model without the need for graphics primitives.

In fact, CUDA, unlike its predecessors, does not require any understanding or knowledge of graphics or graphics primitives. You do not have to be a games programmer either. The CUDA language makes the GPU look just like another programmable device.

Throughout this book I will assume readers have no prior knowledge of CUDA, or of parallel programming. I assume they have only an existing knowledge of the C/C++ programming language. As we progress and you become more competent with CUDA, well cover more advanced topics, taking you from a parallel unaware programmer to one who can exploit the full potential of CUDA.

For programmers already familiar with parallel programming concepts and CUDA, well be discussing in detail the architecture of the GPUs and how to get the most from each, including the latest Fermi and Kepler hardware. Literally anyone who can program in C or C++ can program with CUDA in a few hours given a little training. Getting from novice CUDA programmer, with a several times speedup to 10 timesplus speedup is what you should be capable of by the end of this book.

The book is very much aimed at learning CUDA, but with a focus on performance, having first achieved correctness. Your level of skill and understanding of writing high-performance code, especially for GPUs, will hugely benefit from this text.

This book is a practical guide to using CUDA in real applications, by real practitioners. At the same time, however, we cover the necessary theory and background so everyone, no matter what their background, can follow along and learn how to program in CUDA, making this book ideal for both professionals and those studying GPUs or parallel programming.

The book is set out as follows:

: A Short History of Supercomputing. This chapter is a broad introduction to the evolution of streaming processors covering some key developments that brought us to GPU processing today.

: CUDA Hardware Overview. This chapter provides a fairly detailed explanation of the hardware and architecture found around and within CUDA devices. To achieve the best performance from CUDA programming, a reasonable understanding of the hardware both within and outside the device is required.

: Setting Up CUDA. Installation and setup of the CUDA SDK under Windows, Mac, and the Linux variants. We also look at the main debugging environments available for CUDA.

: Grids, Blocks, and Threads. A detailed explanation of the CUDA threading model, including some examples of how the choices here impact performance.

: Memory Handling with CUDA. Understanding the different memory types and how they are used within CUDA is the single largest factor influencing performance. Here we take a detailed explanation, with examples, of how the various memory types work and the pitfalls of getting it wrong.

: Using CUDA in Practice. Detailed examination as to how central processing units (CPUs) and GPUs best cooperate with a number of problems and the issues involved in CPU/GPU programming.

: Multi-CPU and Multi-GPU Solutions. We look at how to program and use multiple GPUs within an application.

: Optimizing Your Application. A detailed breakdown of the main areas that limit performance in CUDA. We look at the tools and techniques that are available for analysis of CUDA code.

: Libraries and SDK. A look at some of the CUDA SDK samples and the libraries supplied with CUDA, and how you can use these within your applications.

: Designing GPU-Based Systems. This chapter takes a look at some of the issues involved with building your own GPU server or cluster.

: Common Problems, Causes, and Solutions. A look at the type of mistakes most programmers make when developing applications in CUDA and how these can be detected and avoided.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «CUDA Programming: A Developers Guide to Parallel Computing with GPUs»

Look at similar books to CUDA Programming: A Developers Guide to Parallel Computing with GPUs. 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 «CUDA Programming: A Developers Guide to Parallel Computing with GPUs»

Discussion, reviews of the book CUDA Programming: A Developers Guide to Parallel Computing with GPUs 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.