Cargando…

CUDA programming : a developer's guide to parallel computing with GPUs /

If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A Developer's Introduction offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, t...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Cook, Shane
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Waltham, MA : Morgan Kaufmann, an imprint of Elsevier, ©2013.
Temas:
Acceso en línea:Texto completo
Texto completo
Tabla de Contenidos:
  • Front Cover; CUDA Programming: A Developer's Guide to ParallelComputing with GPUs; Copyright; Contents; Preface; Chapter 1
  • A Short History of Supercomputing; INTRODUCTION; VON NEUMANN ARCHITECTURE; CRAY; CONNECTION MACHINE; CELL PROCESSOR; MULTINODE COMPUTING; THE EARLY DAYS OF GPGPU CODING; THE DEATH OF THE SINGLE-CORE SOLUTION; NVIDIA AND CUDA; GPU HARDWARE; ALTERNATIVES TO CUDA; CONCLUSION; Chapter 2
  • Understanding Parallelism with GPUs; INTRODUCTION; TRADITIONAL SERIAL CODE; SERIAL/PARALLEL PROBLEMS; CONCURRENCY; TYPES OF PARALLELISM; FLYNN'S TAXONOMY; SOME COMMON PARALLEL PATTERNS.
  • CONCLUSIONChapter 3
  • CUDA Hardware Overview; PC ARCHITECTURE; GPU HARDWARE; CPUS AND GPUS; COMPUTE LEVELS; Chapter 4
  • Setting Up CUDA; INTRODUCTION; INSTALLING THE SDK UNDER WINDOWS; VISUAL STUDIO; LINUX; MAC; INSTALLING A DEBUGGER; COMPILATION MODEL; ERROR HANDLING; CONCLUSION; Chapter 5
  • Grids, Blocks, and Threads; WHAT IT ALL MEANS; THREADS; BLOCKS; GRIDS; WARPS; BLOCK SCHEDULING; A PRACTICAL EXAMPLE-HISTOGRAMS; CONCLUSION; Chapter 6
  • Memory Handling with CUDA; INTRODUCTION; CACHES; REGISTER USAGE; SHARED MEMORY; CONSTANT MEMORY; GLOBAL MEMORY; TEXTURE MEMORY; CONCLUSION.
  • Chapter 7
  • Using CUDA in PracticeINTRODUCTION; SERIAL AND PARALLEL CODE; PROCESSING DATASETS; PROFILING; AN EXAMPLE USING AES; CONCLUSION; References; Chapter 8
  • Multi-CPU and Multi-GPU Solutions; INTRODUCTION; LOCALITY; MULTI-CPU SYSTEMS; MULTI-GPU SYSTEMS; ALGORITHMS ON MULTIPLE GPUS; WHICH GPU?; SINGLE-NODE SYSTEMS; STREAMS; MULTIPLE-NODE SYSTEMS; CONCLUSION; Chapter 9
  • Optimizing Your Application; STRATEGY 1: PARALLEL/SERIAL GPU/CPU PROBLEM BREAKDOWN; STRATEGY 2: MEMORY CONSIDERATIONS; STRATEGY 3: TRANSFERS; STRATEGY 4: THREAD USAGE, CALCULATIONS, AND DIVERGENCE; STRATEGY 5: ALGORITHMS.
  • STRATEGY 6: RESOURCE CONTENTIONSSTRATEGY 7: SELF-TUNING APPLICATIONS; CONCLUSION; Chapter 10
  • Libraries and SDK; INTRODUCTION; LIBRARIES; CUDA COMPUTING SDK; DIRECTIVE-BASED PROGRAMMING; WRITING YOUR OWN KERNELS; CONCLUSION; Chapter 11
  • Designing GPU-Based Systems; INTRODUCTION; CPU PROCESSOR; GPU DEVICE; PCI-E BUS; GEFORCE CARDS; CPU MEMORY; AIR COOLING; LIQUID COOLING; DESKTOP CASES AND MOTHERBOARDS; MASS STORAGE; POWER CONSIDERATIONS; OPERATING SYSTEMS; CONCLUSION; Chapter 12
  • Common Problems, Causes, and Solutions; INTRODUCTION; ERRORS WITH CUDA DIRECTIVES; PARALLEL PROGRAMMING ISSUES.
  • ALGORITHMIC ISSUESFINDING AND AVOIDING ERRORS; DEVELOPING FOR FUTURE GPUS; FURTHER RESOURCES; CONCLUSION; References; Index.