You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/parallel/amp/cpp-amp-overview.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -183,7 +183,7 @@ std::cout <<a[idx] <<"\n";
183
183
```
184
184
185
185
### extent Class
186
-
The [extent Class](../../parallel/amp/reference/extent-class-cpp-amp.md) specifies the length of the data in each dimension of the `array` or `array_view` object. You can create an extent and use it to create an `array` or `array_view` object. You can also retrieve the extent of an existing `array` or `array_view` object. The following example prints the length of the extent in each dimension of an `array_view` object.
186
+
The [extent Class](../../parallel/amp/reference/extent-class.md) specifies the length of the data in each dimension of the `array` or `array_view` object. You can create an extent and use it to create an `array` or `array_view` object. You can also retrieve the extent of an existing `array` or `array_view` object. The following example prints the length of the extent in each dimension of an `array_view` object.
187
187
188
188
```cpp
189
189
@@ -262,7 +262,7 @@ for (int i = 0; i <5; i++)
262
262
|Shape|Rectangular.|Rectangular.|
263
263
|Data storage|Is a data container.|Is a data wrapper.|
264
264
|Copy|Explicit and deep copy at definition.|Implicit copy when it is accessed by the kernel function.|
265
-
|Data retrieval|By copying the array data back to an object on the CPU thread.|By direct access of the `array_view` object or by calling the [array_view::synchronize Method](reference/array_view-class.md#array_view__synchronize_method) to continue accessing the data on the original container.|
265
+
|Data retrieval|By copying the array data back to an object on the CPU thread.|By direct access of the `array_view` object or by calling the [array_view::synchronize Method](reference/array-view-class.md#array_view__synchronize_method) to continue accessing the data on the original container.|
You can gain additional acceleration by using tiling. Tiling divides the threads into equal rectangular subsets or *tiles*. You determine the appropriate tile size based on your data set and the algorithm that you are coding. For each thread, you have access to the *global* location of a data element relative to the whole `array` or `array_view` and access to the *local* location relative to the tile. Using the local index value simplifies your code because you don't have to write the code to translate index values from global to local. To use tiling, call the [extent::tile Method](reference/extent-class.md#extent__tile_method) on the compute domain in the `parallel_for_each` method, and use a [tiled_index](../../parallel/amp/reference/tiled-index-class.md) object in the lambda expression.
396
396
397
-
In typical applications, the elements in a tile are related in some way, and the code has to access and keep track of values across the tile. Use the [tile_static Keyword](../../cpp/tile-static-keyword.md) keyword and the [tile_barrier::wait Method](reference/tile_barrier-class.md#tile_barrier__wait_method) to accomplish this. A variable that has the `tile_static` keyword has a scope across an entire tile, and an instance of the variable is created for each tile. You must handle synchronization of tile-thread access to the variable. The [tile_barrier::wait Method](reference/tile_barrier-class.md#tile_barrier__wait_method) stops execution of the current thread until all the threads in the tile have reached the call to `tile_barrier::wait`. So you can accumulate values across the tile by using `tile_static` variables. Then you can finish any computations that require access to all the values.
397
+
In typical applications, the elements in a tile are related in some way, and the code has to access and keep track of values across the tile. Use the [tile_static Keyword](../../cpp/tile-static-keyword.md) keyword and the [tile_barrier::wait Method](reference/tile-barrier-class.md#tile_barrier__wait_method) to accomplish this. A variable that has the `tile_static` keyword has a scope across an entire tile, and an instance of the variable is created for each tile. You must handle synchronization of tile-thread access to the variable. The [tile_barrier::wait Method](reference/tile-barrier-class.md#tile_barrier__wait_method) stops execution of the current thread until all the threads in the tile have reached the call to `tile_barrier::wait`. So you can accumulate values across the tile by using `tile_static` variables. Then you can finish any computations that require access to all the values.
398
398
399
399
The following diagram represents a two-dimensional array of sampling data that is arranged in tiles.
Creates and returns an `accelerator_view` object on this accelerator, using the specified queuing mode. When the queuing mode is not specified, the new `accelerator_view` uses the [queuing_mode::immediate](../../../parallel/concrt/reference/concurrency-namespace-enums.md#queuing_mode) queuing mode.
156
+
Creates and returns an `accelerator_view` object on this accelerator, using the specified queuing mode. When the queuing mode is not specified, the new `accelerator_view` uses the [queuing_mode::immediate](../../../parallel/concrt/reference/concurrency-namespace-enums.md#queuing_mode_enumeration) queuing mode.
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/accelerator-view-class.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,7 +91,7 @@ class accelerator_view;
91
91
92
92
Physical devices can be shared among many client threads. Client threads can cooperatively use the same `accelerator_view` object of an accelerator, or each client can communicate with a compute device via an independent `accelerator_view` object for isolation from other client threads.
93
93
94
-
An `accelerator_view` object can have one of two [queuing_mode Enumeration](concurrency-namespace-enums-amp.md#queuing-mode-enumeration) states. If the queuing mode is `immediate`, commands like `copy` and `parallel_for_each` are sent to the corresponding accelerator device as soon as they return to the caller. If the queuing mode is `deferred`, such commands are queued up on a command queue that corresponds to the `accelerator_view` object. Commands are not actually sent to the device until `flush()` is called.
94
+
An `accelerator_view` object can have one of two [queuing_mode Enumeration](concurrency-namespace-enums-amp.md#queuing_mode_enumeration) states. If the queuing mode is `immediate`, commands like `copy` and `parallel_for_each` are sent to the corresponding accelerator device as soon as they return to the caller. If the queuing mode is `deferred`, such commands are queued up on a command queue that corresponds to the `accelerator_view` object. Commands are not actually sent to the device until `flush()` is called.
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/accelerator-view-removed-class.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ class accelerator_view_removed : public runtime_exception;
56
56
57
57
|Name|Description|
58
58
|----------|-----------------|
59
-
|[accelerator_view_removed::get_view_removed_reason Method](reference/accelerator_view_removed-class.md#accelerator_view_removed__get_view_removed_reason_method)|Returns an HRESULT error code indicating the cause of the `accelerator_view` object's removal.|
59
+
|[accelerator_view_removed::get_view_removed_reason Method](reference/accelerator-view-removed-class.md#accelerator_view_removed__get_view_removed_reason_method)|Returns an HRESULT error code indicating the cause of the `accelerator_view` object's removal.|
60
60
61
61
## Inheritance Hierarchy
62
62
`exception`
@@ -71,7 +71,7 @@ class accelerator_view_removed : public runtime_exception;
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/array-class.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ friend class array;
72
72
|[array::get_accelerator_view Method](#array__get_accelerator_view_method)|Returns the [accelerator_view](../../../parallel/amp/reference/accelerator-view-class.md) object that represents the location where the array is allocated. This property can be accessed only on the CPU.|
73
73
|[array::get_associated_accelerator_view Method](#array__get_associated_accelerator_view_method)|Gets the second [accelerator_view](../../../parallel/amp/reference/accelerator-view-class.md) object that is passed as a parameter when a staging constructor is called to instantiate the [array](../../../parallel/amp/reference/array-class.md) object.|
74
74
|[array::get_cpu_access_type Method](#array__get_cpu_access_type_method)|Returns the [access_type](access_type%20enumeration.md) of the array. This method can be accessed only on the CPU.|
75
-
|[array::get_extent Method](#array__get_extent_method)|Returns the [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object of the array.|
75
+
|[array::get_extent Method](#array__get_extent_method)|Returns the [extent](../../../parallel/amp/reference/extent-class.md) object of the array.|
76
76
|[array::reinterpret_as Method](#array__reinterpret_as_method)|Returns a one-dimensional array that contains all the elements in the `array` object.|
77
77
|[array::section Method](#array__section_method)|Returns a subsection of the [array](../../../parallel/amp/reference/array-class.md) object that is at the specified origin and, optionally, that has the specified extent.|
78
78
|[array::view_as Method](#array__view_as_method)|Returns an [array_view](../../../parallel/amp/reference/array-view-class.md) object that is constructed from the `array` object.|
## <aname="array__extent_data_member"></a> array::extent Data Member
550
-
Gets the [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object that defines the shape of the [array](../../../parallel/amp/reference/array-class.md).
550
+
Gets the [extent](../../../parallel/amp/reference/extent-class.md) object that defines the shape of the [array](../../../parallel/amp/reference/array-class.md).
The least significant component of the extent of this section.
799
799
800
800
`_Ext`
801
-
The [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object that specifies the extent of the section. The origin is 0.
801
+
The [extent](../../../parallel/amp/reference/extent-class.md) object that specifies the extent of the section. The origin is 0.
802
802
803
803
`_Idx`
804
804
The [index](../../../parallel/amp/reference/index-class.md) object that specifies the location of the origin. The subsection is the rest of the extent.
Returns the [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object of the [array_view](../../../parallel/amp/reference/array-view-class.md) object.
427
+
Returns the [extent](../../../parallel/amp/reference/extent-class.md) object of the [array_view](../../../parallel/amp/reference/array-view-class.md) object.
The least significant component of the extent of this section.
610
610
611
611
`_Ext`
612
-
The [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object that specifies the extent of the section. The origin is 0.
612
+
The [extent](../../../parallel/amp/reference/extent-class.md) object that specifies the extent of the section. The origin is 0.
613
613
614
614
`_Idx`
615
615
The [index](../../../parallel/amp/reference/index-class.md) object that specifies the location of the origin. The subsection is the rest of the extent.
@@ -627,7 +627,7 @@ array_view section(
627
627
The rank of the section.
628
628
629
629
`_Section_extent`
630
-
The [extent](../../../parallel/amp/reference/extent-class-cpp-amp.md) object that specifies the extent of the section.
630
+
The [extent](../../../parallel/amp/reference/extent-class.md) object that specifies the extent of the section.
631
631
632
632
`_Section_origin`
633
633
The [index](../../../parallel/amp/reference/index-class.md) object that specifies the location of the origin.
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/concurrency-namespace-cpp-amp.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ translation.priority.ht:
35
35
- "zh-tw"
36
36
---
37
37
# Concurrency Namespace (C++ AMP)
38
-
Provides classes and functions that accelerate the execution of C++ code on data-parallel hardware. For more information, see [C++ AMP Overview](cpp-amp-overview.md)
38
+
Provides classes and functions that accelerate the execution of C++ code on data-parallel hardware. For more information, see [C++ AMP Overview](../cpp-amp-overview.md)
39
39
40
40
## Syntax
41
41
@@ -64,7 +64,7 @@ namespace Concurrency;
64
64
|[array Class](array-class.md)|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.|
65
65
|[array_view Class](array-view-class.md)|Represents a view into the data in an array\<T,N>.|
66
66
|[completion_future Class](completion-future-class.md)|Represents a future that corresponds to a C++ AMP asynchronous operation.|
67
-
|[extent Class](extent-class-cpp-amp.md)|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.|
67
+
|[extent Class](extent-class.md)|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.|
68
68
|[index Class](index-class.md)|Defines an N-dimensional index point.|
69
69
|[invalid_compute_domain Class](invalid-compute-domain-class.md)|The exception that's thrown when the runtime can't start a kernel by using the compute domain specified at the `parallel_for_each` call site.|
70
70
|[out_of_memory Class](out-of-memory-class.md)|The exception that is thrown when a method fails because of a lack of system or device memory.|
@@ -80,7 +80,7 @@ namespace Concurrency;
80
80
|Name|Description|
81
81
|----------|-----------------|
82
82
|[access_type Enumeration](concurrency-namespace-enums-amp.md#access_type)|Specifies the data access type.|
83
-
|[queuing_mode Enumeration](concurrency-namespace-enums-amp.mdqueuing_mode)|Specifies the queuing modes that are supported on the accelerator.|
83
+
|[queuing_mode Enumeration](oncurrency-namespace-enums-amp.md#queuing_mode_enumeration)|Specifies the queuing modes that are supported on the accelerator.|
Copy file name to clipboardExpand all lines: docs/parallel/amp/reference/concurrency-precise-math-namespace.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ translation.priority.mt:
34
34
- "tr-tr"
35
35
---
36
36
# Concurrency::precise_math Namespace
37
-
Functions in the `precise_math` namespace are C99 compliant. Both single precision and double precision versions of each function are included. For example, `acos` is the double-precision version and `acosf` is the single-precision version. These functions, including the single-precision functions, require extended double-precision support on the accelerator. You can use the [accelerator::supports_double_precision Data Member](reference/accelerator-class.md#accelerator__supports_double_precision_data_member) to determine if you can run these functions on a specific accelerator.
37
+
Functions in the `precise_math` namespace are C99 compliant. Both single precision and double precision versions of each function are included. For example, `acos` is the double-precision version and `acosf` is the single-precision version. These functions, including the single-precision functions, require extended double-precision support on the accelerator. You can use the [accelerator::supports_double_precision Data Member](accelerator-class.md#accelerator__supports_double_precision_data_member) to determine if you can run these functions on a specific accelerator.
0 commit comments