This commit is contained in:
jpekkila
2019-09-12 20:11:27 +03:00

View File

@@ -227,7 +227,7 @@ Synchronization is done using `Stream` primitives, defined as
```C ```C
typedef enum { STREAM_DEFAULT, STREAM_0, ..., STREAM_16, NUM_STREAMS } Stream; typedef enum { STREAM_DEFAULT, STREAM_0, ..., STREAM_16, NUM_STREAMS } Stream;
#define STREAM_ALL (NUM_STREAMS) #define STREAM_ALL (NUM_STREAMS)
```. ```
Functions queued in the same stream will be executed sequentially. If two or more consequent Functions queued in the same stream will be executed sequentially. If two or more consequent
functions are queued in different streams, then these functions may execute in parallel. Finally, functions are queued in different streams, then these functions may execute in parallel. Finally,
@@ -276,8 +276,7 @@ Since we allow the user to operate on subsets of the computational domain in use
AcResult acDeviceSwapBuffers(const Device device); AcResult acDeviceSwapBuffers(const Device device);
AcResult acNodeSwapBuffers(const Node node); AcResult acNodeSwapBuffers(const Node node);
``` ```
> All functions provided with the API operate on input buffers and ensure that the complete result > **NOTE**: All functions provided with the API operate on input buffers and ensure that the complete result is available in the input buffer when the function has completed. User-specified kernels are exceptions and write the result to output buffers. Therefore buffers have to be swapped only after calling user-specified kernels.
is available in the input buffer when the function has completed. User-specified kernels are exceptions and write the result to output buffers. Therefore buffers have to be swapped only after calling user-specified kernels.
## Devices ## Devices