table of contents
ASYNC_WORK_GROUP_STR(3clc) | OpenCL Manual | ASYNC_WORK_GROUP_STR(3clc) |
NAME¶
async_work_group_strided_copy - Performs an async gather of num_elements gentype elements from source to destination.¶
event_t
async_work_group_strided_copy(__local gentype *dst,
const __global gentype *src,
size_t num_gentypes,
size_t src_stride,
event_t event);
event_t
async_work_group_strided_copy(__global gentype *dst,
const __local gentype *src,
size_t num_gentypes,
size_t dst_stride,
event_t event);
DESCRIPTION¶
The OpenCL C programming language implements these functions that provide asynchronous copies between global and local memory and a prefetch from global memory. Perform an async gather of num_gentypesgentype elements from src to dst. The src_stride is the stride in elements for each gentype element read from src. The dst_stride is the stride in elements for each gentype element written to dst. The async gather is performed by all work-items in a work-group. This built-in function must therefore be encountered by all work-items in a work-group executing the kernel with the same argument values; otherwise the results are undefined. Returns an event object that can be used by wait_group_events(3clc) to wait for the async copy to finish. The event argument can also be used to associate the async_work_group_strided_copy with a previous async copy allowing an event to be shared by multiple async copies; otherwise event should be zero. If event argument is non-zero, the event object supplied in event argument will be returned. This function does not perform any implicit synchronization of source data such as using a barrier(3clc) before performing the copy. The behavior of async_work_group_strided_copy is undefined if src_stride or dst_stride is 0, or if the src_stride or dst_stride values cause the src or dst pointers to exceed the upper bounds of the address space during the copy.NOTES¶
The generic type name gentype indicates the built-in data types char, char{2|3|4|8|16}, uchar, uchar{2|3|4|8|16}, short, short{2|3|4|8|16}, ushort, ushort{2|3|4|8|16}, int, int{2|3|4|8|16}, uint, uint{2|3|4|8|16}, long, long{2|3|4|8|16}, ulong, ulong{2|3|4|8|16} or float, float{2|3|4|8|16} as the type for the arguments unless otherwise stated. Optionally, generic type name gentype may indicate double and double{2|3|4|8|16} as arguments and return values. If extended with cl_khr_fp16(3clc), generic type name gentype may indicate half and half{2|3|4|8|16} as arguments and return values. async_work_group_copy and async_work_group_strided_copy for 3-component vector types behave as async_work_group_copy and async_work_group_strided_copy respectively for 4-component vector types.SPECIFICATION¶
OpenCL Specification[1]SEE ALSO¶
asyncCopyFunctions(3clc), wait_group_events(3clc)AUTHORS¶
The Khronos GroupCOPYRIGHT¶
Copyright © 2007-2011 The Khronos Group Inc.NOTES¶
- 1.
- OpenCL Specification
page 276, section 6.12.10 - Async Copies from Global to
Local Memory...
06/18/2014 | The Khronos Group |