CUDA by example: an introduction to general-purpose GPU programming
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ
Addison-Wesley
[2011]
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | XIX, 290 Seiten Illustrationen, Diagramme |
ISBN: | 9780131387683 0131387685 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036619146 | ||
003 | DE-604 | ||
005 | 20180820 | ||
007 | t | ||
008 | 100817s2011 a||| |||| 00||| eng d | ||
010 | |a 2010017618 | ||
020 | |a 9780131387683 |9 978-0-13-138768-3 | ||
020 | |a 0131387685 |9 0-13-138768-5 | ||
035 | |a (OCoLC)699702402 | ||
035 | |a (DE-599)HBZHT016319466 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-29T |a DE-20 |a DE-91G |a DE-92 |a DE-898 |a DE-11 |a DE-526 |a DE-Aug4 |a DE-706 |a DE-523 |a DE-573 |a DE-355 |a DE-525 |a DE-91 |a DE-703 |a DE-739 |a DE-19 |a DE-945 |a DE-859 | ||
050 | 0 | |a QA76.76.A65 S255 2010 | |
082 | 0 | |a 005.2/75 22 | |
084 | |a ST 151 |0 (DE-625)143595: |2 rvk | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 320 |0 (DE-625)143657: |2 rvk | ||
084 | |a DAT 516f |2 stub | ||
084 | |a DAT 752f |2 stub | ||
100 | 1 | |a Sanders, Jason |e Verfasser |0 (DE-588)142083747 |4 aut | |
245 | 1 | 0 | |a CUDA by example |b an introduction to general-purpose GPU programming |c Jason Sanders, Edward Kandrot |
264 | 1 | |a Upper Saddle River, NJ |b Addison-Wesley |c [2011] | |
264 | 4 | |c © 2011 | |
300 | |a XIX, 290 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
650 | 0 | 7 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Grafikprozessor |0 (DE-588)4582114-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a CUDA |g Informatik |0 (DE-588)7719528-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |D s |
689 | 0 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | 2 | |a Grafikprozessor |0 (DE-588)4582114-8 |D s |
689 | 0 | 3 | |a CUDA |g Informatik |0 (DE-588)7719528-0 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Kandrot, Edward |e Verfasser |0 (DE-588)142083755 |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020539205&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-020539205 |
Datensatz im Suchindex
_version_ | 1804143228004335616 |
---|---|
adam_text | Titel: CUDA by example
Autor: Sanders, Jason
Jahr: 2011
Contents
Foreword....................................x¡¡¡
Preface.....................................xv
Acknowledgments..............................xvü
About the Authors...............................xix
1 WHY CUDA? WHY NOW? 1
1.1 Chapter Objectives..............................2
1.2 The Age of Parallel Processing.......................2
1.2.1 Central Processing Units........................2
1.3 The Rise of GPU Computing.........................4
1.3.1 A Brief History of GPUs.........................4
1.3.2 Early GPU Computing..........................5
1.4 CUDA .....................................6
1.4.1 What Is the CUDA Architecture?....................7
1.4.2 Using the CUDA Architecture......................7
1.5 Applications of CUDA ............................8
1.5.1 Medicallmaging .............................8
1.5.2 Computational Fluid Dynamics ....................9
1.5.3 Environmental Science ........................10
1.6 Chapter Review...............................11
CONTENTS
! GETTING STARTED 13
2.1 Chapter Objectives.............................U
2.2 Development Environment ........................H
2.2.1 CUDA-Enabled Graphics Processors................ 14
2.2.2 NVIDIA Device Driver ......................... 16
2.2.3 CUDA Development Toolkit...................... 16
2.2.4 Standard C Compiler ......................... 18
2.3 Chapter Review............................... 19
» INTRODUCTION TO CUPA C^ _____ _Tl_
3.1 Chapter Objectives.............................22
3.2 A First Program ..............................22
3.2.1 Hello, World! ..............................22
3.2.2 A Kernel Call..............................23
3.2.3 Passing Parameters..........................24
3.3 Querying Devices..............................27
3.A Using Device Properties..........................33
3.5 Chapter Review...............................35
i PARALLEL PROGRAMMING IN CUDA C 37
4.1 Chapter Objectives.............................38
4.2 CUDA Parallel Programming.......................38
4.2.1 Summing Vectors............................38
4.2.2 A Fun Example.............................46
4.3 Chapter Review...............................57
CONTENTS
THREAD COOPERATION
5.1 Chapter Objectives.............................60
5.2 Splitting Parallel Blocks..........................60
5.2.1 Vector Sums: Redux..........................60
5.2.2 GPU Ripple Using Threads ......................69
5.3 Shared Memory and Synchronization ..................75
5.3.1 Dot Product...............................76
5.3.1 Dot Product Optimized (Incorrectly).................87
5.3.2 Shared Memory Bitmap........................90
5.4 Chapter Review...............................94
» CONSTANT MEMORY AND EVENTS 95
6.1 Chapter Objectives.............................96
6.2 Constant Memory .............................96
6.2.1 Ray Tracing Introduction........................96
6.2.2 Ray Tracing on the GPU........................98
6.2.3 Ray Tracing with Constant Memory................104
6.2.4 Performance with Constant Memory...............106
6.3 Measuring Performance with Events ................. 108
6.3.1 Measuring Ray Tracer Performance................ 110
6.4 Chapter Review.............................. 114
TEXTURE MEMORY ___________ 115
7.1 Chapter Objectives............................ 116
7.2 Texture Memory Overview........................ 116
CONTENTS
7.3 Simulating Heat Transfer........................ 117
7.3.1 Simple Heating Model........................ 117
7.3.2 Computing Temperature Updates................. 119
7.3.3 Animating the Simulation...................... 121
7.3.4 Using Texture Memory........................ 125
7.3.5 Using Two-Dimensional Texture Memory............. 131
7.4 Chapter Review.............................. 137
3 GRAPHICS INTEROPERABILITY 139
8.1 Chapter Objectives............................ 140
8.2 Graphics Interoperation......................... 140
8.3 GPU Ripple with Graphics Interoperability .............. 147
8.3.1 The GPUAnimBitmap Structure .................. 148
8.3.2 GPU Ripple Redux.......................... 152
8.4 Heat Transfer with Graphics Interop.................. 154
8.5 DirectX Interoperability......................... 160
8.6 Chapter Review.............................. 161
9 ATOMICS 163
9.1 Chapter Objectives............................ 164
9.2 Compute Capability ........................... 164
9.2.1 The Compute Capability of NVIDIA GPUs............. 164
9.2.2 Compiling for a Minimum Compute Capability.......... 167
9.3 Atomic Operations Overview...................... 168
9.4 Computing Histograms ......................... 170
9.4.1 CPU Histogram Computation.................... 171
9.4.2 GPU Histogram Computation.................... 173
9.5 Chapter Review.............................. 183
CONTENTS
10 STREAMS 185
10.1 Chapter Objectives............................ 186
10.2 Page-Locked Host Memory....................... 186
10.3 CUDA Streams.............................. 192
10.A Using a Single CUDA Stream...................... 192
10.5 Using Multiple CUDA Streams ..................... 198
10.6 GPU Work Scheduling.......................... 205
10.7 Using Multiple CUDA Streams Effectively............... 208
10.8 Chapter Review.............................. 211
11 CUPA CON MULTIPLE GPUS____________________ 213
11.1 Chapter Objectives............................ 2U
11.2 Zero-Copy Host Memory ........................ 2U
11.2.1 Zero-Copy Dot Product....................... 2U
11.2.2 Zero-Copy Performance...................... 222
11.3 Using Multiple GPUs........................... 224
11.k Portable Pinned Memory........................ 230
11.5 Chapter Review.............................. 235
12 THE FINAL COUNTDOWN __________^^_________237
12.1 Chapter Objectives............................238
12.2 CUDA Tools................................238
12.2.1 CUDA Toolkit ............................ 238
12.2.2 CUFFT................................ 239
12.2.3 CUBLAS............................... 239
12.2.4 NVIDIA GPU Computing SDK ................... 240
CONTENTS
12.2.5 NVIDIA Performance Primitives ................. 241
12.2.6 Debugging CUDAC......................... 241
12.2.7 CUDA Visual Profiler........................ 243
12.3 Written Resources............................ 244
12.3.1 Programming Massively Parallel Processors:
A Hands-On Approach....................... 244
12.3.2 CUDAU................................ 245
12.3.3 NVIDIA Forums........................... 246
12.4 Code Resources ............................. 246
12.4.1 CUDA Data Parallel Primitives Library ............. 247
12.4.2 CULAtools.............................. 247
12.4.3 Language Wrappers........................ 247
12.5 Chapter Review.............................. 248
A ADVANCED ATOMICS 249
A.1 Dot Product Revisited.......................... 250
A.1.1 Atomic Locks ............................ 251
A.1.2 Dot Product Redux: Atomic Locks ................ 254
A.2 Implementing a Hash Table....................... 258
A.2.1 Hash Table Overview........................ 259
A.2.2 A CPU Hash Table.......................... 261
A.2.3 Multithreaded Hash Table..................... 267
A.2.4 A GPU Hash Table.......................... 268
A.2.5 Hash Table Performance ..................... 276
A.3 Appendix Review............................. 277
Index ..................................... 279
|
any_adam_object | 1 |
author | Sanders, Jason Kandrot, Edward |
author_GND | (DE-588)142083747 (DE-588)142083755 |
author_facet | Sanders, Jason Kandrot, Edward |
author_role | aut aut |
author_sort | Sanders, Jason |
author_variant | j s js e k ek |
building | Verbundindex |
bvnumber | BV036619146 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.A65 S255 2010 |
callnumber-search | QA76.76.A65 S255 2010 |
callnumber-sort | QA 276.76 A65 S255 42010 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 151 ST 230 ST 320 |
classification_tum | DAT 516f DAT 752f |
ctrlnum | (OCoLC)699702402 (DE-599)HBZHT016319466 |
dewey-full | 005.2/7522 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2/75 22 |
dewey-search | 005.2/75 22 |
dewey-sort | 15.2 275 222 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02203nam a2200517 c 4500</leader><controlfield tag="001">BV036619146</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20180820 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100817s2011 a||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2010017618</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780131387683</subfield><subfield code="9">978-0-13-138768-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0131387685</subfield><subfield code="9">0-13-138768-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699702402</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)HBZHT016319466</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-355</subfield><subfield code="a">DE-525</subfield><subfield code="a">DE-91</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-945</subfield><subfield code="a">DE-859</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.A65 S255 2010</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.2/75 22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 151</subfield><subfield code="0">(DE-625)143595:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 320</subfield><subfield code="0">(DE-625)143657:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 516f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 752f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sanders, Jason</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)142083747</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">CUDA by example</subfield><subfield code="b">an introduction to general-purpose GPU programming</subfield><subfield code="c">Jason Sanders, Edward Kandrot</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">[2011]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2011</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIX, 290 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Grafikprozessor</subfield><subfield code="0">(DE-588)4582114-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">CUDA</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)7719528-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Grafikprozessor</subfield><subfield code="0">(DE-588)4582114-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">CUDA</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)7719528-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kandrot, Edward</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)142083755</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020539205&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020539205</subfield></datafield></record></collection> |
id | DE-604.BV036619146 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:44:19Z |
institution | BVB |
isbn | 9780131387683 0131387685 |
language | English |
lccn | 2010017618 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020539205 |
oclc_num | 699702402 |
open_access_boolean | |
owner | DE-29T DE-20 DE-91G DE-BY-TUM DE-92 DE-898 DE-BY-UBR DE-11 DE-526 DE-Aug4 DE-706 DE-523 DE-573 DE-355 DE-BY-UBR DE-525 DE-91 DE-BY-TUM DE-703 DE-739 DE-19 DE-BY-UBM DE-945 DE-859 |
owner_facet | DE-29T DE-20 DE-91G DE-BY-TUM DE-92 DE-898 DE-BY-UBR DE-11 DE-526 DE-Aug4 DE-706 DE-523 DE-573 DE-355 DE-BY-UBR DE-525 DE-91 DE-BY-TUM DE-703 DE-739 DE-19 DE-BY-UBM DE-945 DE-859 |
physical | XIX, 290 Seiten Illustrationen, Diagramme |
publishDate | 2011 |
publishDateSearch | 2011 |
publishDateSort | 2011 |
publisher | Addison-Wesley |
record_format | marc |
spelling | Sanders, Jason Verfasser (DE-588)142083747 aut CUDA by example an introduction to general-purpose GPU programming Jason Sanders, Edward Kandrot Upper Saddle River, NJ Addison-Wesley [2011] © 2011 XIX, 290 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Hier auch später erschienene, unveränderte Nachdrucke Parallelverarbeitung (DE-588)4075860-6 gnd rswk-swf Grafikprozessor (DE-588)4582114-8 gnd rswk-swf CUDA Informatik (DE-588)7719528-0 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Parallelverarbeitung (DE-588)4075860-6 s Programmierung (DE-588)4076370-5 s Grafikprozessor (DE-588)4582114-8 s CUDA Informatik (DE-588)7719528-0 s DE-604 Kandrot, Edward Verfasser (DE-588)142083755 aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020539205&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Sanders, Jason Kandrot, Edward CUDA by example an introduction to general-purpose GPU programming Parallelverarbeitung (DE-588)4075860-6 gnd Grafikprozessor (DE-588)4582114-8 gnd CUDA Informatik (DE-588)7719528-0 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4075860-6 (DE-588)4582114-8 (DE-588)7719528-0 (DE-588)4076370-5 |
title | CUDA by example an introduction to general-purpose GPU programming |
title_auth | CUDA by example an introduction to general-purpose GPU programming |
title_exact_search | CUDA by example an introduction to general-purpose GPU programming |
title_full | CUDA by example an introduction to general-purpose GPU programming Jason Sanders, Edward Kandrot |
title_fullStr | CUDA by example an introduction to general-purpose GPU programming Jason Sanders, Edward Kandrot |
title_full_unstemmed | CUDA by example an introduction to general-purpose GPU programming Jason Sanders, Edward Kandrot |
title_short | CUDA by example |
title_sort | cuda by example an introduction to general purpose gpu programming |
title_sub | an introduction to general-purpose GPU programming |
topic | Parallelverarbeitung (DE-588)4075860-6 gnd Grafikprozessor (DE-588)4582114-8 gnd CUDA Informatik (DE-588)7719528-0 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Parallelverarbeitung Grafikprozessor CUDA Informatik Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020539205&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT sandersjason cudabyexampleanintroductiontogeneralpurposegpuprogramming AT kandrotedward cudabyexampleanintroductiontogeneralpurposegpuprogramming |