MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
getvector: GPU => CPU

Macros

#define magma_igetvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for magma_int_t arrays.
 
#define magma_igetvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for magma_int_t arrays.
 
#define magma_index_getvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for magma_index_t arrays.
 
#define magma_index_getvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for magma_index_t arrays.
 
#define magma_uindex_getvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for magma_uindex_t arrays.
 
#define magma_uindex_getvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for magma_uindex_t arrays.
 
#define magma_cgetvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for magmaFloatComplex arrays.
 
#define magma_cgetvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for magmaFloatComplex arrays.
 
#define magma_dgetvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for double arrays.
 
#define magma_dgetvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for double arrays.
 
#define magma_sgetvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for float arrays.
 
#define magma_sgetvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for float arrays.
 
#define magma_zgetvector(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector() for magmaDoubleComplex arrays.
 
#define magma_zgetvector_async(n, dx_src, incx, hy_dst, incy, queue)
 Type-safe version of magma_getvector_async() for magmaDoubleComplex arrays.
 
#define magma_getvector(n, elemSize, dx_src, incx, hy_dst, incy, queue)
 Copy vector dx_src on GPU device to hy_dst on CPU host. More...
 
#define magma_getvector_async(n, elemSize, dx_src, incx, hy_dst, incy, queue)
 Copy vector dx_src on GPU device to hy_dst on CPU host. More...
 

Detailed Description

Macro Definition Documentation

magma_getvector (   n,
  elemSize,
  dx_src,
  incx,
  hy_dst,
  incy,
  queue 
)

Copy vector dx_src on GPU device to hy_dst on CPU host.

Elements may be arbitrary size. Type-safe versions set elemSize appropriately.

This version synchronizes the queue after the transfer. See magma_getvector_async() for an asynchronous version.

Parameters
[in]nNumber of elements in vector.
[in]elemSizeSize of each element, e.g., sizeof(double).
[in]dx_srcSource array of dimension (1 + (n-1))*incx, on GPU device.
[in]incxIncrement between elements of hx_src. incx > 0.
[out]hy_dstDestination array of dimension (1 + (n-1))*incy, on CPU host.
[in]incyIncrement between elements of dy_dst. incy > 0.
[in]queueQueue to execute in.
magma_getvector_async (   n,
  elemSize,
  dx_src,
  incx,
  hy_dst,
  incy,
  queue 
)

Copy vector dx_src on GPU device to hy_dst on CPU host.

Elements may be arbitrary size. Type-safe versions set elemSize appropriately.

This version is asynchronous: it may return before the transfer finishes, if hy_dst is pinned CPU memory. See magma_getvector() for a synchronous version.

Parameters
[in]nNumber of elements in vector.
[in]elemSizeSize of each element, e.g., sizeof(double).
[in]dx_srcSource array of dimension (1 + (n-1))*incx, on GPU device.
[in]incxIncrement between elements of hx_src. incx > 0.
[out]hy_dstDestination array of dimension (1 + (n-1))*incy, on CPU host.
[in]incyIncrement between elements of dy_dst. incy > 0.
[in]queueQueue to execute in.