Visible to Intel only — GUID: GUID-F240D4EF-8CC1-4B30-86E6-44C2619C2537
Visible to Intel only — GUID: GUID-F240D4EF-8CC1-4B30-86E6-44C2619C2537
?copy_batch
Computes a group of vector copies.
call scopy_batch(n_array, x_array, incx_array, y_array, incy_array, group_count, group_size_array)
call dcopy_batch(n_array, x_array, incx_array, y_array, incy_array, group_count, group_size_array)
call ccopy_batch(n_array, x_array, incx_array, y_array, incy_array, group_count, group_size_array)
call zcopy_batch(n_array, x_array, incx_array, y_array, incy_array, group_count, group_size_array)
Description
The ?copy_batch routines perform a series of vector copies. They are similar to their ?copy routine counterparts, but the ?copy_batch routines perform vector operations with groups of vectors. Each groups contains vectors with the same parameters (size, incrmenet), but the parameters can vary between groups.
The operation is defined as follows:
idx = 0 for i = 0 … group_count – 1 n, incx, incy and group_size at position i in n_array, incx_array, incy_array and group_size_array for j = 0 … group_size – 1 x and y are vectors of size n at position idx in x_array and y_array y := x idx := idx + 1 end for end for
The number of entries in x_array and y_array is total_batch_count, which is the sum of all the group_size entries.
Input Parameters
- n_array
-
INTEGER. Array of size group_count. For the group i, n_i = n_array[i] is the number of elements in the vectors x and y.
- x_array
-
INTEGER*8 for Intel® 64 architecture
INTEGER*4 for IA-32 architecture
Array of size total_batch_count of pointers used to store x vectors. The array allocated for the x vectors of the group i must be of size at least (1 + (n_i - 1)*abs(incx_i)).
- incx_array
-
INTEGER. Array of size group_count. For the group i, incx_i = incx_array[i] is the distance between consecutive entries in a vector x.
- y_array
-
INTEGER*8 for Intel® 64 architecture
INTEGER*4 for IA-32 architecture
Array of size total_batch_count of pointers used to store y vectors. The array allocated for the y vectors of the group i must be of size at least (1 + (n_i - 1)*abs(incy_i)).
- incy_array
-
INTEGER. Array of size group_count. For the group i, incy_i = incy_array[i] is the distance between consecutive entries in a vector y.
- group_count
-
INTEGER. Number of groups. Must be at least 0.
- group_size_array
-
INTEGER. Array of size group_count. The element group_size_array[i] is the number of vector in the group i. Each element in group_size_array must be at least 0.
Output Parameters
- y_array
-
Array of pointers holding the total_batch_count copied vectors y.