Provides functions that support D3D interoperability. Enables seamless use of D3D resources for compute in AMP code and the use of resources created in AMP in D3D code, without creating redundant intermediate copies. You can use C++ AMP to incrementally accelerate the compute-intensive sections of your DirectX applications and use the D3D API on data produced from AMP computations.
Functions in the fast_math namespace are not C99-conformant. Only single-precision versions of each function are provided. These functions use the DirectX intrinsic functions, which are faster than the corresponding functions in the precise_math namespace and do not require extended double-precision support on the accelerator, but they are less accurate. There are two versions of each function for source-level compatibility with C99 code; both versions take and return single-precision values.
Functions in the precise_math namespace are C99 conformant. Both single-precision and double-precision versions of each function are included. These functions—this includes the single-precision functions—require extended double-precision support on the accelerator.
A data aggregate on an accelerator_view in the grid domain. It is a collection of variables, one for each element in a grid domain. Each variable holds a value that corresponds to some C++ type.
Represents a vector of N integer values that specify the bounds of an N-dimensional space that has an origin of 0. The values in the coordinate vector are ordered from most significant to least significant. For example, in Cartesian 3-dimensional space, the extent vector (7,5,3) represents a space in which the z coordinate ranges from 0 to 7, the y coordinate ranges from 0 to 5, and the x coordinate ranges from 0 to 3.
A capability class that is only creatable by the system and is passed to a tiled parallel_for_each lambda as part of the tiled_index parameter. It provides one method, wait(), whose purpose is to synchronize execution of threads that are running in the thread group (tile).
A tiled_extent object is an extent object of one to three dimensions that subdivides the extent space into one-dimensional, two-dimensional, or three-dimensional tiles.
Provides an index into a tiled_grid object. This class has properties to access element relative to the local tile origin and relative to the global origin.
Overloaded. If the value stored at the specified location compares equal to the first specified value, then the second specified value is stored in the same location as an atomic operation.
Copies a C++ AMP object. All synchronous data transfer requirements are met. Data can't be copied when code is running code on an accelerator. The general form of this function is copy(src, dest).
Copies a C++ AMP object and returns completion_future that can be waited on. Data can't be copied when code is running on an accelerator. The general form of this function is copy(src, dest).