²é¿´: 1244  |  »Ø¸´: 12
¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û11´Î£¬×÷ÕßpkusiyuanÔö¼Ó½ð±Ò 8.6 ¸ö

pkusiyuan

Òø³æ (ÕýʽдÊÖ)


[×ÊÔ´] 2010Programming.Massively.Parallel.Processors

Contents
Preface ......................................................................................................................xi
Acknowledgments ................................................................................................ xvii
Dedication...............................................................................................................xix
CHAPTER 1 INTRODUCTION................................................................................1
1.1 GPUs as Parallel Computers ..........................................................2
1.2 Architecture of a Modern GPU......................................................8
1.3 Why More Speed or Parallelism? ................................................10
1.4 Parallel Programming Languages and Models............................13
1.5 Overarching Goals ........................................................................15
1.6 Organization of the Book.............................................................16
CHAPTER 2 HISTORY OF GPU COMPUTING .....................................................21
2.1 Evolution of Graphics Pipelines ..................................................21
2.1.1 The Era of Fixed-Function Graphics Pipelines..................22
2.1.2 Evolution of Programmable Real-Time Graphics .............26
2.1.3 Unified Graphics and Computing Processors ....................29
2.1.4 GPGPU: An Intermediate Step...........................................31
2.2 GPU Computing ...........................................................................32
2.2.1 Scalable GPUs.....................................................................33
2.2.2 Recent Developments..........................................................34
2.3 Future Trends................................................................................34
CHAPTER 3 INTRODUCTION TO CUDA..............................................................39
3.1 Data Parallelism............................................................................39
3.2 CUDA Program Structure ............................................................41
3.3 A Matrix¨CMatrix Multiplication Example...................................42
3.4 Device Memories and Data Transfer...........................................46
3.5 Kernel Functions and Threading..................................................51
3.6 Summary.......................................................................................56
3.6.1 Function declarations ..........................................................56
3.6.2 Kernel launch ......................................................................56
3.6.3 Predefined variables ............................................................56
3.6.4 Runtime API........................................................................57
CHAPTER 4 CUDA THREADS.............................................................................59
4.1 CUDA Thread Organization ........................................................59
4.2 Using blockIdx and threadIdx ..........................................64
4.3 Synchronization and Transparent Scalability ..............................68
vii
4.4 Thread Assignment.......................................................................70
4.5 Thread Scheduling and Latency Tolerance .................................71
4.6 Summary .......................................................................................74
4.7 Exercises .......................................................................................74
CHAPTER 5 CUDA MEMORIES.......................................................................77
5.1 Importance of Memory Access Efficiency..................................78
5.2 CUDA Device Memory Types ....................................................79
5.3 A Strategy for Reducing Global Memory Traffic.......................83
5.4 Memory as a Limiting Factor to Parallelism ..............................90
5.5 Summary .......................................................................................92
5.6 Exercises .......................................................................................93
CHAPTER 6 PERFORMANCE CONSIDERATIONS................................................95
6.1 More on Thread Execution ..........................................................96
6.2 Global Memory Bandwidth........................................................103
6.3 Dynamic Partitioning of SM Resources ....................................111
6.4 Data Prefetching .........................................................................113
6.5 Instruction Mix ...........................................................................115
6.6 Thread Granularity .....................................................................116
6.7 Measured Performance and Summary .......................................118
6.8 Exercises .....................................................................................120
CHAPTER 7 FLOATING POINT CONSIDERATIONS ...........................................125
7.1 Floating-Point Format.................................................................126
7.1.1 Normalized Representation of M.....................................126
7.1.2 Excess Encoding of E.......................................................127
7.2 Representable Numbers ..............................................................129
7.3 Special Bit Patterns and Precision.............................................134
7.4 Arithmetic Accuracy and Rounding ..........................................135
7.5 Algorithm Considerations...........................................................136
7.6 Summary .....................................................................................138
7.7 Exercises .....................................................................................138
CHAPTER 8 APPLICATION CASE STUDY: ADVANCED MRI
RECONSTRUCTION.......................................................................141
8.1 Application Background.............................................................142
8.2 Iterative Reconstruction..............................................................144
8.3 Computing FHd...........................................................................148
Step 1. Determine the Kernel Parallelism Structure .................149
Step 2. Getting Around the Memory Bandwidth Limitation....156
viii Contents
Step 3. Using Hardware Trigonometry Functions ....................163
Step 4. Experimental Performance Tuning ...............................166
8.4 Final Evaluation..........................................................................167
8.5 Exercises .....................................................................................170
CHAPTER 9 APPLICATION CASE STUDY: MOLECULAR VISUALIZATION
AND ANALYSIS............................................................................173
9.1 Application Background.............................................................174
9.2 A Simple Kernel Implementation ..............................................176
9.3 Instruction Execution Efficiency................................................180
9.4 Memory Coalescing....................................................................182
9.5 Additional Performance Comparisons .......................................185
9.6 Using Multiple GPUs .................................................................187
9.7 Exercises .....................................................................................188
CHAPTER 10 PARALLEL PROGRAMMING AND COMPUTATIONAL
THINKING ....................................................................................191
10.1 Goals of Parallel Programming ...............................................192
10.2 Problem Decomposition ...........................................................193
10.3 Algorithm Selection .................................................................196
10.4 Computational Thinking...........................................................202
10.5 Exercises ...................................................................................204
CHAPTER 11 A BRIEF INTRODUCTION TO OPENCL ......................................205
11.1 Background...............................................................................205
11.2 Data Parallelism Model............................................................207
11.3 Device Architecture..................................................................209
11.4 Kernel Functions ......................................................................211
11.5 Device Management and Kernel Launch ................................212
11.6 Electrostatic Potential Map in OpenCL ..................................214
11.7 Summary...................................................................................219
11.8 Exercises ...................................................................................220
CHAPTER 12 CONCLUSION AND FUTURE OUTLOOK ........................................221
12.1 Goals Revisited.........................................................................221
12.2 Memory Architecture Evolution ..............................................223
12.2.1 Large Virtual and Physical Address Spaces ................223
12.2.2 Unified Device Memory Space ....................................224
12.2.3 Configurable Caching and Scratch Pad........................225
12.2.4 Enhanced Atomic Operations .......................................226
12.2.5 Enhanced Global Memory Access ...............................226
Contents ix
12.3 Kernel Execution Control Evolution .......................................227
12.3.1 Function Calls within Kernel Functions ......................227
12.3.2 Exception Handling in Kernel Functions.....................227
12.3.3 Simultaneous Execution of Multiple Kernels ..............228
12.3.4 Interruptible Kernels .....................................................228
12.4 Core Performance.....................................................................229
12.4.1 Double-Precision Speed ...............................................229
12.4.2 Better Control Flow Efficiency ....................................229
12.5 Programming Environment ......................................................230
12.6 A Bright Outlook......................................................................230
APPENDIX A MATRIX MULTIPLICATION HOST-ONLY VERSION
SOURCE CODE .............................................................................233
A.1 matrixmul.cu........................................................................233
A.2 matrixmul_gold.cpp .........................................................237
A.3 matrixmul.h..........................................................................238
A.4 assist.h .................................................................................239
A.5 Expected Output .........................................................................243
APPENDIX B GPU COMPUTE CAPABILITIES ....................................................245
B.1 GPU Compute Capability Tables...............................................245
B.2 Memory Coalescing Variations..................................................246
Index......................................................................................................... 251
»Ø¸´´ËÂ¥

» ±¾Ìû¸½¼þ×ÊÔ´Áбí

» ÊÕ¼±¾ÌûµÄÌÔÌûר¼­ÍƼö

Algorithm love physics µç×ÓÊé×ÊÁÏ CUDA
¿ÆÑÐÈí¼þ

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

dbeak

Òø³æ (СÓÐÃûÆø)


¸Ðл¥Ö÷·ÖÏí
8Â¥2015-06-25 18:37:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
¼òµ¥»Ø¸´
tonyhi2Â¥
2015-03-08 21:34   »Ø¸´  
ÈýÐÇºÃÆÀ  Ð»Ð»·ÖÏí [ ·¢×ÔСľ³æ¿Í»§¶Ë ]
FMStation3Â¥
2015-03-09 07:09   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
anmingkang4Â¥
2015-03-09 08:13   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2015-03-09 08:52   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
truebelief6Â¥
2015-03-10 10:17   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
dbeak7Â¥
2015-06-25 18:24   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2015-10-28 23:32   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
yinxzy10Â¥
2015-12-01 22:40   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
Nanobee11Â¥
2016-04-02 11:27   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
liu12333812Â¥
2016-10-17 11:34   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
2017-09-20 23:39   »Ø¸´  
ÎåÐÇºÃÆÀ  ¶¥Ò»Ï£¬¸Ðл·ÖÏí£¡
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ pkusiyuan µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ070300 ѧ˶336Çóµ÷¼Á +4 vvÃÔ 2026-03-21 6/300 2026-03-22 11:24 by vvÃÔ
[¿¼ÑÐ] 08¹¤¿Æ 320×Ü·Ö Çóµ÷¼Á +7 À滨çóÍí·ç 2026-03-17 7/350 2026-03-22 10:03 by 2026paper
[¿¼ÑÐ] 286Çóµ÷¼Á +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷°²½»Í¨´óѧ²ÄÁϹ¤³Ìרҵ 282·ÖÇóµ÷¼Á +10 ·ãÇÅZL 2026-03-18 12/600 2026-03-21 22:02 by peike
[¿¼ÑÐ] 326Çóµ÷¼Á +5 ŵ±´¶û»¯Ñ§½±êéê 2026-03-15 8/400 2026-03-21 19:33 by ColorlessPI
[¿¼ÑÐ] ¡¾¿¼Ñе÷¼Á¡¿»¯Ñ§×¨Òµ 281·Ö£¬Ò»Ö¾Ô¸ËÄ´¨´óѧ£¬³ÏÐÄÇóµ÷¼Á +11 ³Ô³Ô³Ô²ÅÓÐÒâÒå 2026-03-19 11/550 2026-03-21 18:23 by ѧԱ8dgXkO
[¿¼ÑÐ] ²ÄÁÏѧ˶333Çóµ÷¼Á +3 ±±µÀÏï 2026-03-18 3/150 2026-03-21 18:17 by ѧԱ8dgXkO
[¿¼ÑÐ] 0703»¯Ñ§297Çóµ÷¼Á +3 Daisy¡î 2026-03-20 3/150 2026-03-21 17:45 by ColorlessPI
[¿¼ÑÐ] 299Çóµ÷¼Á +4 ijijijijλ 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[¿¼ÑÐ] һ־Ըɽ´ó07»¯Ñ§ 332·Ö ËÄÁù¼¶Òѹý ±¾¿ÆÉ½¶«Ë«·Ç Çóµ÷¼Á£¡ +3 ²»ÏëÀíÄã 2026-03-16 3/150 2026-03-21 03:59 by JourneyLucky
[¿¼ÑÐ] 265Çóµ÷¼Á +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[¿¼ÑÐ] 330Çóµ÷¼Á +4 С²Ä»¯±¾¿Æ 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[¿¼ÑÐ] ¿¼Ñе÷¼ÁÇóÑ§Ð£ÍÆ¼ö +3 ²®ÀÖ29 2026-03-18 5/250 2026-03-20 22:59 by JourneyLucky
[¿¼ÑÐ] 323Çóµ÷¼Á +3 ÍÝСͰ 2026-03-18 3/150 2026-03-20 22:54 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
[ÂÛÎÄͶ¸å] ÉêÇë»Ø¸åÑÓÆÚÒ»¸öÔ£¬±à¼­Í¬ÒâÁË¡£µ«ÏµÍ³ÉϵÄʱ¼äû±ä£¬¸ø±à¼­ÓÖдÓʼþÁË£¬Ã»»Ø¸´ 10+3 wangf9518 2026-03-17 4/200 2026-03-19 23:55 by babero
[¿¼ÑÐ] 081700»¯¹¤Ñ§Ë¶µ÷¼Á +3 ¡¾1¡¿ 2026-03-16 3/150 2026-03-19 23:40 by edmund7
[¿¼ÑÐ] ±¾¿ÆÖ£ÖÝ´óѧÎïÀíѧԺ£¬Ò»Ö¾Ô¸»ª¿Æ070200ѧ˶£¬346Çóµ÷¼Á +4 ÎÒ²»ÊÇÒ»¸ù´Ð 2026-03-18 4/200 2026-03-19 09:11 by ¸¡ÔÆ166
[¿¼ÑÐ] 085601ר˶£¬×Ü·Ö342Çóµ÷¼Á£¬µØÇø²»ÏÞ +5 share_joy 2026-03-16 5/250 2026-03-18 14:48 by haxia
[¿¼ÑÐ] 301Çóµ÷¼Á +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û