Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

C++ amp makes it easy to explore parallel processing on GPUs in a college course or research project

Published: 01 June 2018 Publication History

Abstract

C++ AMP (Accelerated Massive Parallelism) is a high-level library that provides an easy way to introduce massively parallel processing, using from thousands to millions of threads, into a college course or research project. The threads are executed in parallel on a graphics card's processor (GPU). Many popular graphics cards have 500 to 4000 cores that can execute tasks in parallel. In contrast, most PCs have a central processing unit (CPU) with 2-8 cores that can run in parallel. They have different strengths and weaknesses than GPU cores or there would not be a need for both. For tasks appropriate for execution on a GPU, CPUs cannot compete. When executing a task in parallel on a CPU, the speedup factor (how many times faster it runs relative to a single-threaded program on the same CPU) cannot exceed the number of CPU cores (typically 2-8). In contrast, a C++ AMP execution of some tasks on a powerful GPU can be hundreds or thousands of times faster than a single-threaded CPU implementation.

References

[1]
Kate Gregory, Ade Miller. C++ Amp: Accelerated Massive Parallelism With Microsoft Visual C++, Redmond, WA: Microsoft Press, 2012.
[2]
C++ AMP (C++ Accelerated Massive Parallelism), https://msdn.microsoft.com/en-us/library/hh265137(v=vs.140).aspx, retrieved January 3, 2018.
[3]
C++ AMP Overview, https://msdn.microsoft.com/en-us/library/hh265136(v=vs.120).aspx, retrieved January 3, 2018.
[4]
Hoberock, J., Bell, N., Thrust: a productivity-oriented library for CUDA, GPU Computing Gems Jade Edition, Boston: Morgan Kaufmann, 2011.
[5]
Nickolls, J.,Buck, I., Garland, M., Skadron, K., Scalable parallel programming with CUDA, ACM Queue, 6(2), 40--53, 2008.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Computing Sciences in Colleges
Journal of Computing Sciences in Colleges  Volume 33, Issue 6
June 2018
198 pages
ISSN:1937-4771
EISSN:1937-4763
Issue’s Table of Contents

Publisher

Consortium for Computing Sciences in Colleges

Evansville, IN, United States

Publication History

Published: 01 June 2018
Published in JCSC Volume 33, Issue 6

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 43
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media