A high-performance general-purpose compute library
device.h File Reference
#include <af/defines.h>

Go to the source code of this file.

Namespaces

namespace  af
 

Functions

void info ()
 
const char * infoString (const bool verbose=false)
 
void deviceInfo (char *d_name, char *d_platform, char *d_toolkit, char *d_compute)
 Gets the information about device and platform as strings
 
int getDeviceCount ()
 Gets the number of devices.
 
int getDevice ()
 Gets the current device ID.
 
bool isDoubleAvailable (const int device)
 Queries the current device for double precision floating point support.
 
bool isHalfAvailable (const int device)
 Queries the current device for half precision floating point support.
 
void setDevice (const int device)
 Sets the current device.
 
void sync (const int device=-1)
 Blocks until the device is finished processing.
 
void free (const void *ptr)
 Returns memory to ArrayFire's memory manager.
 
void freeV2 (const void *ptr)
 Returns memory to ArrayFire's memory manager.
 
void freePinned (const void *ptr)
 Free pinned memory allocated by ArrayFire's memory manager
 
void * allocHost (const size_t elements, const dtype type)
 Allocate memory on host.
 
template<typename T >
T * allocHost (const size_t elements)
 Allocate memory on host.
 
void freeHost (const void *ptr)
 Free memory allocated internally by ArrayFire.
 
void setMemStepSize (const size_t size)
 Set the resolution of memory chunks.
 
size_t getMemStepSize ()
 Get the resolution of memory chunks.
 
af_err af_info ()
 
af_err af_init ()
 
af_err af_info_string (char **str, const bool verbose)
 Gets the output of af_info() as a string.
 
af_err af_device_info (char *d_name, char *d_platform, char *d_toolkit, char *d_compute)
 Gets the information about device and platform as strings
 
af_err af_get_device_count (int *num_of_devices)
 
af_err af_get_dbl_support (bool *available, const int device)
 
af_err af_get_half_support (bool *available, const int device)
 
af_err af_set_device (const int device)
 
af_err af_get_device (int *device)
 
af_err af_sync (const int device)
 
af_err af_alloc_device (void **ptr, const dim_t bytes)
 Allocates memory using ArrayFire's memory manager.
 
af_err af_free_device (void *ptr)
 Returns memory to ArrayFire's memory manager.
 
af_err af_alloc_device_v2 (void **ptr, const dim_t bytes)
 Allocates memory using ArrayFire's memory manager.
 
af_err af_free_device_v2 (void *ptr)
 Returns memory to ArrayFire's memory manager.
 
af_err af_alloc_pinned (void **ptr, const dim_t bytes)
 
af_err af_free_pinned (void *ptr)
 
af_err af_alloc_host (void **ptr, const dim_t bytes)
 
af_err af_free_host (void *ptr)
 
af_err af_device_array (af_array *arr, void *data, const unsigned ndims, const dim_t *const dims, const af_dtype type)
 Create array from device memory.
 
af_err af_device_mem_info (size_t *alloc_bytes, size_t *alloc_buffers, size_t *lock_bytes, size_t *lock_buffers)
 Get memory information from the memory manager.
 
af_err af_print_mem_info (const char *msg, const int device_id)
 Prints buffer details from the ArrayFire Device Manager.
 
af_err af_device_gc ()
 Call the garbage collection routine.
 
af_err af_set_mem_step_size (const size_t step_bytes)
 Set the minimum memory chunk size.
 
af_err af_get_mem_step_size (size_t *step_bytes)
 Get the minimum memory chunk size.
 
af_err af_lock_device_ptr (const af_array arr)
 Lock the device buffer in the memory manager.
 
af_err af_unlock_device_ptr (const af_array arr)
 Unlock device buffer in the memory manager.
 
af_err af_lock_array (const af_array arr)
 Lock the device buffer in the memory manager.
 
af_err af_unlock_array (const af_array arr)
 Unlock device buffer in the memory manager.
 
af_err af_is_locked_array (bool *res, const af_array arr)
 Query if the array has been locked by the user.
 
af_err af_get_device_ptr (void **ptr, const af_array arr)
 Get the device pointer and lock the buffer in memory manager.
 
af_err af_set_kernel_cache_directory (const char *path, int override_env)
 Sets the path where the kernels generated at runtime will be cached.
 
af_err af_get_kernel_cache_directory (size_t *length, char *path)
 Gets the path where the kernels generated at runtime will be cached.
 
void * alloc (const size_t elements, const dtype type)
 Allocates memory using ArrayFire's memory manager.
 
void * allocV2 (const size_t bytes)
 Allocates memory using ArrayFire's memory manager.
 
template<typename T >
T * alloc (const size_t elements)
 Allocates memory using ArrayFire's memory manager.
 
void * pinned (const size_t elements, const dtype type)
 Allocate pinned memory using ArrayFire's memory manager.
 
template<typename T >
T * pinned (const size_t elements)
 Allocate pinned memory using ArrayFire's memory manager.
 
void deviceMemInfo (size_t *alloc_bytes, size_t *alloc_buffers, size_t *lock_bytes, size_t *lock_buffers)
 Gets information about the memory manager.
 
void printMemInfo (const char *msg=NULL, const int device_id=-1)
 Prints buffer details from the ArrayFire Device Manager.
 
void deviceGC ()
 Call the garbage collection function in the memory manager.