Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
17Activity

Table Of Contents

Chapter 1 Introduction
1.1 From Graphics Processing to General-Purpose Parallel Computing
Figure 1-2. The GPU Devotes More Transistors to Data Processing
1.2 CUDA™: a General-Purpose Parallel Computing Architecture
1.3 A Scalable Programming Model
1.4 Document’s Structure
Chapter 2 Programming Model
2.1 Kernels
2.2 Thread Hierarchy
Figure 2-1. Grid of Thread Blocks
2.3 Memory Hierarchy
2.4 Heterogeneous Programming
2.5 Compute Capability
Chapter 3 Programming Interface
3.1 Compilation with NVCC
3.1.1 Compilation Workflow
3.1.2 Binary Compatibility
3.1.3 PTX Compatibility
3.1.4 Application Compatibility
3.1.5 C/C++ Compatibility
3.1.6 64-Bit Compatibility
3.2 CUDA C
3.2.1 Device Memory
3.2.2 Shared Memory
Figure 3-1. Matrix Multiplication without Shared Memory
Figure 3-2. Matrix Multiplication with Shared Memory
3.2.3 Multiple Devices
3.2.4.1 Texture Memory
3.2.4.2 Surface Memory
3.2.4.3 CUDA Arrays
3.2.4.4 Read/Write Coherency
3.2.5 Page-Locked Host Memory
3.2.5.1 Portable Memory
3.2.5.2 Write-Combining Memory
3.2.5.3 Mapped Memory
3.2.6 Asynchronous Concurrent Execution
3.2.6.1 Concurrent Execution between Host and Device
3.2.6.2 Overlap of Data Transfer and Kernel Execution
3.2.6.3 Concurrent Kernel Execution
3.2.6.4 Concurrent Data Transfers
3.2.6.5 Stream
3.2.6.6 Event
3.2.6.7 Synchronous Calls
3.2.7 Graphics Interoperability
3.2.7.1 OpenGL Interoperability
3.2.7.2 Direct3D Interoperability
3.2.8 Error Handling
3.2.9 Call Stack
3.3 Driver API
3.3.1 Context
3.3.2 Module
3.3.3 Kernel Execution
3.3.4 Device Memory
3.3.5 Shared Memory
3.3.6 Multiple Devices
3.3.7 Texture and Surface Memory
3.3.7.1 Texture Memory
3.3.7.2 Surface Memory
3.3.8 Page-Locked Host Memory
3.3.9 Asynchronous Concurrent Execution
3.3.9.1 Stream
3.3.9.2 Event Management
3.3.9.3 Synchronous Calls
3.3.10 Graphics Interoperability
3.3.10.1 OpenGL Interoperability
3.3.10.2 Direct3D Interoperability
3.3.11 Error Handling
3.3.12 Call Stack
3.4 Interoperability between Runtime and Driver APIs
3.5 Versioning and Compatibility
3.6 Compute Modes
3.7 Mode Switches
Chapter 4 Hardware Implementation
4.1 SIMT Architecture
4.2 Hardware Multithreading
4.3 Multiple Devices
Chapter 5 Performance Guidelines
5.1 Overall Performance Optimization Strategies
5.2 Maximize Utilization
5.2.1 Application Level
5.2.2 Device Level
5.2.3 Multiprocessor Level
5.3 Maximize Memory Throughput
5.3.1 Data Transfer between Host and Device
5.3.2 Device Memory Accesses
5.3.2.1 Global Memory
5.3.2.2 Local Memory
5.3.2.3 Shared Memory
5.3.2.4 Constant Memory
5.3.2.5 Texture and Surface Memory
5.4 Maximize Instruction Throughput
5.4.1 Arithmetic Instructions
5.4.2 Control Flow Instructions
5.4.3 Synchronization Instruction
Appendix A CUDA-Enabled GPUs
Appendix B C Language Extensions
B.1 Function Type Qualifiers
B.1.1 __device__
B.1.2 __global__
B.1.3 __host__
B.1.4 Restrictions
B.1.4.1 Functions Parameters
B.1.4.2 Variadic Functions
B.1.4.3 Static Variables
B.1.4.4 Function Pointers
B.1.4.5 Recursion
B.2 Variable Type Qualifiers
B.2.1 __device__
B.2.2 __constant__
B.2.3 __shared__
B.2.4 Restrictions
B.2.4.1 Storage and Scope
B.2.4.2 Assignment
B.2.4.3 Automatic Variable
B.2.4.4 Pointers
B.2.5 volatile
B.5 Memory Fence Functions
B.6 Synchronization Functions
B.7 Mathematical Functions
B.8 Texture Functions
B.8.1 tex1Dfetch()
B.8.2 tex1D()
B.8.3 tex2D()
B.8.4 tex3D()
B.9 Surface Functions
B.9.1 surf1Dread()
B.9.2 surf1Dwrite()
B.9.3 surf2Dread()
B.9.4 surf2Dwrite()
B.10 Time Function
B.11 Atomic Functions
B.11.1 Arithmetic Functions
B.11.1.1 atomicAdd()
B.11.1.2 atomicSub()
B.11.1.3 atomicExch()
B.11.1.4 atomicMin()
B.11.1.5 atomicMax()
B.11.1.6 atomicInc()
B.11.1.7 atomicDec()
B.11.1.8 atomicCAS()
B.11.2 Bitwise Functions
B.11.2.1 atomicAnd()
B.11.2.2 atomicOr()
B.11.2.3 atomicXor()
B.12 Warp Vote Functions
B.13 Profiler Counter Function
B.14 Formatted Output
B.14.1 Format Specifiers
B.14.2 Limitations
B.15.3.1 Per Thread Allocation
B.15.3.2 Per Thread Block Allocation
B.17 Launch Bounds
Appendix C Mathematical Functions
C.1 Standard Functions
C.1.1 Single-Precision Floating-Point Functions
C.1.2 Double-Precision Floating-Point Functions
C.1.3 Integer Functions
C.2 Intrinsic Functions
C.2.1 Single-Precision Floating-Point Functions
C.2.2 Double-Precision Floating-Point Functions
C.2.3 Integer Functions
C.2.4 Type Casting Functions
Appendix D C++ Language Constructs
D.1 Polymorphism
D.2 Default Parameters
D.3 Operator Overloading
D.4 Namespaces
D.5 Function Templates
D.6 Classes
D.6.1 Example 1 Pixel Data Type
D.6.2 Example 2 Functor Class
Appendix E NVCC Specifics
E.1 __noinline__ and __forceinline__
E.2 #pragma unroll
E.3 __restrict__
Appendix F Texture Fetching
F.1 Nearest-Point Sampling
F.2 Linear Filtering
F.3 Table Lookup
Appendix G Compute Capabilities
G.1 Features and Technical Specifications
G.2 Floating-Point Standard
G.3 Compute Capability 1.x
G.3.1 Architecture
G.3.2 Global Memory
G.3.2.1 Devices of Compute Capability 1.0 and 1.1
G.3.2.2 Devices of Compute Capability 1.2 and 1.3
G.3.3 Shared Memory
G.3.3.1 32-Bit Strided Access
G.3.3.2 32-Bit Broadcast Access
G.3.3.3 8-Bit and 16-Bit Access
G.3.3.4 Larger Than 32-Bit Access
G.4 Compute Capability 2.x
G.4.1 Architecture
G.4.2 Global Memory
G.4.3 Shared Memory
G.4.3.1 32-Bit Strided Access
G.4.3.2 Larger Than 32-Bit Access
G.4.4 Constant Memory
0 of .
Results for:
No results containing your search query
P. 1
CUDA_C_Programming_Guide

CUDA_C_Programming_Guide

Ratings: (0)|Views: 36,221|Likes:
Published by Kevin Kim

More info:

Published by: Kevin Kim on Mar 02, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/24/2013

pdf

text

original

You're Reading a Free Preview
Pages 4 to 40 are not shown in this preview.
You're Reading a Free Preview
Pages 44 to 119 are not shown in this preview.
You're Reading a Free Preview
Pages 123 to 132 are not shown in this preview.
You're Reading a Free Preview
Page 136 is not shown in this preview.
You're Reading a Free Preview
Pages 140 to 183 are not shown in this preview.

Activity (17)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
jr1001uk liked this
Nguyen Thai Son liked this
Jakub Velký liked this
fatullahdonie liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->