1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/**
\addtogroup arrayfire_func
@{
\defgroup device_func_prop deviceInfo
\ingroup device_mat
\brief Gets the information about device and platform as strings
\param d_name pointer to a user-allocated char array. Recommended minimum size is 64.
The name of the device is stored in this array.
\param d_platform pointer to a user-allocated char array. Recommended minimum size is 10.
The platform information is stored in this array.
\param d_toolkit pointer to a user-allocated char array. Recommended minimum size is 64.
The toolkit information is stored in this array.
\param d_compute pointer to a user-allocated char array. Recommended minimum size is 10.
The compute version of the device is stored in this array.
===============================================================================
\defgroup device_func_count getDeviceCount
\ingroup device_mat
\brief Gets the number of compute devices on the system
Get the number of devices available for the current backend
===============================================================================
\defgroup device_func_get getDevice
\ingroup device_mat
\brief Get the current device ID
Gets the ID of the current device
===============================================================================
\defgroup device_func_dbl isDoubleAvailable
\ingroup device_mat
\brief Check if double precision support is available for specified device
These functions check if a device has support to perform double precision
floating point operations
===============================================================================
\defgroup device_func_set setDevice
\ingroup device_mat
\brief Change current device to specified device
These functions change the current device. Operations after this called will
be performed on the set device.
===============================================================================
\defgroup device_func_sync sync
\ingroup device_mat
\brief Blocks until all operations on device are finished
These functions block the calling thread until all of the device operations
have finished.
===============================================================================
\defgroup device_func_alloc alloc
\ingroup device_mat
\brief Allocate memory using the ArrayFire memory manager
This function will allocate memory on the device and return a pointer
to it. The memory is allocated using ArrayFire's memory manager which
has some different characteristics to standard method of memory
allocation
===============================================================================
\defgroup device_func_free free
\ingroup device_mat
\brief Free device memory allocated by ArrayFire's memory manager
These calls free the device memory. These functions need to be called on
pointers allocated using alloc function.
===============================================================================
\defgroup device_func_pinned pinned
\ingroup device_mat
\brief Allocate pinned memory using ArrayFire's memory manager.
These functions allocate page locked memory. This type of memory has better
performance characteristics but require additional care because they are
a limited resource.
===============================================================================
\defgroup device_func_free_pinned freePinned
\ingroup device_mat
\brief Free pinned memory allocated by ArrayFire's memory manager
These calls free the pinned memory on host. These functions need to be called on
pointers allocated using pinned function.
===============================================================================
\defgroup device_func_alloc_host allocHost
\ingroup device_mat
\brief Allocate memory on host
This function is used for allocating regular memory on host. This is useful
where the compiler version of ArrayFire library is different from the
executable's compiler version.
It does not use ArrayFire's memory manager.
===============================================================================
\defgroup device_func_free_host freeHost
\ingroup device_mat
\brief Free memory allocated on host internally by ArrayFire
This function is used for freeing memory on host that was allocated within
ArrayFire. This is useful where the compiler version of ArrayFire library is
different from the executable's compiler version.
It does not use ArrayFire's memory manager.
===============================================================================
\defgroup device_func_mem deviceMemInfo
\ingroup device_mat
\brief Memory manager related functions
Memory manager related functions
@}
*/
|