CUDA specific functions

Functions
CUDA specific functions
ArrayFire Functions by Category » Interface Functions

Accessing ArrayFire's stream, and native device id with other CUDA code. More...

## Functions
AFAPI af_err | afcu_get_stream (cudaStream_t *stream, int id)
| Get the stream for the CUDA device with `id` in ArrayFire context. More...
AFAPI af_err | afcu_get_native_id (int *nativeid, int id)
| Get the native device id of the CUDA device with `id` in ArrayFire context. More...
AFAPI af_err | afcu_set_native_id (int nativeid)
| Set the CUDA device with given native id as the active device for ArrayFire. More...
static cudaStream_t | getStream (int id)
| Get the stream for the CUDA device with `id` in ArrayFire context. More...
static int | getNativeId (int id)
| Get the native device id of the CUDA device with `id` in ArrayFire context. More...
static void | setNativeId (int nativeId)
| Set the CUDA device with given native id as the active device for ArrayFire. More...

## Detailed Description

Accessing ArrayFire's stream, and native device id with other CUDA code.

If your software is using ArrayFire's CUDA backend, you can also write custom kernels and do custom memory operations using native CUDA commands. The functions contained in the `afcu` namespace provide methods to get the stream and native device id that ArrayFire is using.

## Function Documentation

## § afcu_get_native_id()

AFAPI af_err afcu_get_native_id | ( | int * | nativeid,
|  | int | id
| ) |  |

Get the native device id of the CUDA device with `id` in ArrayFire context.

Parameters

  [out] | nativeid | native device id of the CUDA device with `id` in ArrayFire context
  [in] | id | ArrayFire device id

Returns
  af_err error code

## § afcu_get_stream()

AFAPI af_err afcu_get_stream | ( | cudaStream_t * | stream,
|  | int | id
| ) |  |

Get the stream for the CUDA device with `id` in ArrayFire context.

Parameters

  [out] | stream | CUDA Stream of device with `id` in ArrayFire context
  [in] | id | ArrayFire device id

Returns
  af_err error code

## § afcu_set_native_id()

AFAPI af_err afcu_set_native_id | ( | int | nativeid | ) |

Set the CUDA device with given native id as the active device for ArrayFire.

Parameters

  [in] | nativeid | native device id of the CUDA device

Returns
  af_err error code

## § getNativeId()

static int afcu::getNativeId | ( | int | id | ) |
| inlinestatic

Get the native device id of the CUDA device with `id` in ArrayFire context.

Parameters

  [in] | id | ArrayFire device id

Returns
  cuda native id of device

## § getStream()

static cudaStream_t afcu::getStream | ( | int | id | ) |
| inlinestatic

Get the stream for the CUDA device with `id` in ArrayFire context.

Parameters

  [in] | id | ArrayFire device id

Returns
  cuda stream used by CUDA device

## § setNativeId()

static void afcu::setNativeId | ( | int | nativeId | ) |
| inlinestatic

Set the CUDA device with given native id as the active device for ArrayFire.

Parameters

  [in] | nativeId | native device id of the CUDA device