Loading...
Searching...
No Matches
getvector: GPU => CPU
Utilities » Communication CPU <=> GPU

## 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.
#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.

## Detailed Description

## Macro Definition Documentation

## magma_getvector

#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.

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] | n | Number of elements in vector.
  [in] | elemSize | Size of each element, e.g., sizeof(double).
  [in] | dx_src | Source array of dimension (1 + (n-1))*incx, on GPU device.
  [in] | incx | Increment between elements of hx_src. incx > 0.
  [out] | hy_dst | Destination array of dimension (1 + (n-1))*incy, on CPU host.
  [in] | incy | Increment between elements of dy_dst. incy > 0.
  [in] | queue | Queue to execute in.

## magma_getvector_async

#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.

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] | n | Number of elements in vector.
  [in] | elemSize | Size of each element, e.g., sizeof(double).
  [in] | dx_src | Source array of dimension (1 + (n-1))*incx, on GPU device.
  [in] | incx | Increment between elements of hx_src. incx > 0.
  [out] | hy_dst | Destination array of dimension (1 + (n-1))*incy, on CPU host.
  [in] | incy | Increment between elements of dy_dst. incy > 0.
  [in] | queue | Queue to execute in.