To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

From Wikipedia, the free encyclopedia

C++ Accelerated Massive Parallelism (C++ AMP) is a native programming model that contains elements that span the C++ programming language and its runtime library. It provides an easy way to write programs that compile and execute on data-parallel hardware, such as graphics cards (GPUs).

Beginning with Visual Studio 2022 (version 17.0), C++ AMP is declared as deprecated, indicating its end of support beyond Visual Studio 2022.

C++ AMP is a library implemented on DirectX 11 and an open specification from Microsoft for implementing data parallelism directly in C++. It is intended to make programming GPUs easy for the developer by supporting a range of expertise from none (in which case the system does its best) to being more finely controllable, but still portable. In Microsoft's implementation, code that cannot be run on GPUs will fall back onto one or more CPUs instead and use SSE instructions.[citation needed] The Microsoft implementation is included in Visual Studio 2012, including debugger and profiler support.

The initial C++ AMP release from Microsoft requires at least Windows 7 or Windows Server 2008 R2.[1] As C++ AMP is an open specification it is expected that in time implementations outside Microsoft will appear; one early example of this is Shevlin Park, Intel's experimental implementation of C++ AMP on Clang/LLVM and OpenCL.[2]

On November 12, 2013 the HSA Foundation announced a C++ AMP compiler that outputs to OpenCL, Standard Portable Intermediate Representation (SPIR), and HSA Intermediate Language (HSAIL) supporting the current C++ AMP specification.[3] The source is available at https://github.com/RadeonOpenCompute/hcc. C++ AMP support is considered obsolete and the current ROCm 1.9 series will be the last to support it.[4]

The basic concepts behind C++AMP, like using C++ classes to express parallel and heterogeneous programming features, have been inspirational to the SYCL standard.

YouTube Encyclopedic

  • 1/3
    Views:
    2 955
    3 118
    303
  • C++ AMP tutorial: Windows Support for C++ AMP
  • CppCon 2014: Marc Gregoire "Introduction to C++ AMP (GPGPU Computing)"
  • Trailer for C++ AMP: Parallelism and Management

Transcription

Features

Microsoft added the restrict(amp) feature, which can be applied to any function (including lambdas) to declare that the function can be executed on a C++ AMP accelerator. The compiler will automatically generate a compute kernel, saving the boilerplate of management and having to use a separate language. The restrict keyword instructs the compiler to statically check that the function uses only those language features that are supported by most GPUs, for example, void myFunc() restrict(amp) {…} Microsoft or other implementer of the open C++ AMP specification could add other restrict specifiers for other purposes, including for purposes that are unrelated to C++ AMP.

Beyond the new language feature, the rest of C++ AMP is available through the <amp.h> header file in the concurrency namespace. The key C++ AMP classes are: array (container for data on an accelerator), array_view (wrapper for data), index (N-dimensional point), extent (N-dimensional size), accelerator (computational resource, such as a GPU, on which to allocate memory and execute), and accelerator_view (view of an accelerator). There is also a global function, parallel_for_each, which you use to write a C++ AMP parallel loop.

See also

References

  1. ^ C++ AMP One-page summary Broken link
  2. ^ Shevlin Park: Implementing C++ AMP with Clang/LLVM and OpenCL
  3. ^ "Bringing C++AMP Beyond Windows via CLANG and LLVM". Retrieved January 9, 2014.
  4. ^ "Home · RadeonOpenCompute/HCC Wiki". GitHub.

Further reading

  • Kate Gregory, Ade Miller. C++ Amp: Accelerated Massive Parallelism With Microsoft Visual C++ - Microsoft, 2012 - 326 pages - ISBN 9780735664739

External links

This page was last edited on 20 May 2022, at 02:16
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.