CUDA Application Design and Development.
By: Farber, Rob.Material type: TextSeries: eBooks on Demand.Publisher: St. Louis : Elsevier Science, 2014Description: 1 online resource (337 p.).ISBN: 9780123884329.Subject(s): Application software -- Development | Computer architecture | Parallel programming (Computer science)Genre/Form: Electronic books.Additional physical formats: Print version:: CUDA Application Design and DevelopmentDDC classification: 005.3 LOC classification: QA76.76.A65 -- F37 2012ebOnline resources: Click here to view this ebook.
|Item type||Current location||Call number||URL||Status||Date due||Barcode|
|Electronic Book||UT Tyler Online Online||QA76.76.A65 -- F37 2012eb (Browse shelf)||http://uttyler.eblib.com/patron/FullRecord.aspx?p=806486||Available||EBL806486|
Front Cover; CUDA Application Design and Development; Copyright; Dedication; Table of Contents; Foreword; Preface; 1 First Programs and How to Think in CUDA; Source Code and Wiki; Distinguishing CUDA from Conventional Programming with a Simple Example; Choosing a CUDA API; Some Basic CUDA Concepts; Understanding Our First Runtime Kernel; Three Rules of GPGPU Programming; Rule 1: Get the Data on the GPU and Keep It There; Rule 2: Give the GPGPU Enough Work to Do; Rule 3: Focus on Data Reuse within the GPGPU to Avoid Memory Bandwidth Limitations; Big-O Considerations and Data Transfers
CUDA and Amdahl's LawData and Task Parallelism; Hybrid Execution: Using Both CPU and GPU Resources; Regression Testing and Accuracy; Silent Errors; Introduction to Debugging; UNIX Debugging; NVIDIA's cuda-gdb Debugger; The CUDA Memory Checker; Use cuda-gdb with the UNIX ddd Interface; Windows Debugging with Parallel Nsight; Summary; 2 CUDA for Machine Learning and Optimization; Modeling and Simulation; Fitting Parameterized Models; Nelder-Mead Method; Levenberg-Marquardt Method; Algorithmic Speedups; Machine Learning and Neural Networks; XOR: An Important Nonlinear Machine-Learning Problem
An Example Objective FunctionA Complete Functor for Multiple GPU Devices and the Host Processors; Brief Discussion of a Complete Nelder-Mead Optimization Code; Performance Results on XOR; Performance Discussion; Summary; The C++ Nelder-Mead Template; 3 The CUDA Tool Suite: Profiling a PCA/NLPCA Functor; PCA and NLPCA; Autoencoders; An Example Functor for PCA Analysis; An Example Functor for NLPCA Analysis; Obtaining Basic Profile Information; Gprof: A Common UNIX Profiler; The NVIDIA Visual Profiler: Computeprof; Parallel Nsight for Microsoft Visual Studio; The Nsight Timeline Analysis
The NVTX Tracing LibraryScaling Behavior of the CUDA API; Tuning and Analysis Utilities (TAU); Summary; 4 The CUDA Execution Model; GPU Architecture Overview; Thread Scheduling: Orchestrating Performance and Parallelism via the Execution Configuration; Relevant computeprof Values for a Warp; Warp Divergence; Guidelines for Warp Divergence; Relevant computeprof Values for Warp Divergence; Warp Scheduling and TLP; Relevant computeprof Values for Occupancy; ILP: Higher Performance at Lower Occupancy; ILP Hides Arithmetic Latency; ILP Hides Data Latency; ILP in the Future
Relevant computeprof Values for Instruction RatesLittle's Law; CUDA Tools to Identify Limiting Factors; The nvcc Compiler; Launch Bounds; The Disassembler; PTX Kernels; GPU Emulators; Summary; 5 CUDA Memory; The CUDA Memory Hierarchy; GPU Memory; L2 Cache; Relevant computeprof Values for the L2 Cache; L1 Cache; Relevant computeprof Values for the L1 Cache; CUDA Memory Types; Registers; Local memory; Relevant computeprof Values for Local Memory Cache; Shared Memory; Relevant computeprof Values for Shared Memory; Constant Memory; Texture Memory; Relevant computeprof Values for Texture Memory
As the computer industry retools to leverage massively parallel graphics processing units (GPUs), this book is designed to meet the needs of working software developers who need to understand GPU programming with CUDA and increase efficiency in their projects. <i>CUDA Application Design and Development</i> starts with an introduction to parallel computing concepts for readers with no previous parallel experience, and focuses on issues of immediate importance to working software developers: achieving high performance, maintaining competitiveness, analyzing CUDA benefits versus costs, and deter
Description based upon print version of record.