A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://arrayfire.org/docs/group__memory__manager__api.htm below:

ArrayFire: Memory Manager API

Functions for defining custom memory managers. More...

typedef void *  af_memory_manager   typedef af_err(*  af_memory_manager_initialize_fn) (af_memory_manager handle)   Called after a memory manager is set and becomes active. More...
  typedef af_err(*  af_memory_manager_shutdown_fn) (af_memory_manager handle)   Called after a memory manager is unset and becomes unused. More...
  typedef af_err(*  af_memory_manager_alloc_fn) (af_memory_manager handle, void **ptr, int user_lock, const unsigned ndims, dim_t *dims, const unsigned element_size)   Function pointer that will be called by ArrayFire to allocate memory. More...
  typedef af_err(*  af_memory_manager_allocated_fn) (af_memory_manager handle, size_t *size, void *ptr)   Checks the amount of allocated memory for a pointer. More...
  typedef af_err(*  af_memory_manager_unlock_fn) (af_memory_manager handle, void *ptr, int user_unlock)   Unlocks memory from use. More...
  typedef af_err(*  af_memory_manager_signal_memory_cleanup_fn) (af_memory_manager handle)   Called to signal the memory manager should free memory if possible. More...
  typedef af_err(*  af_memory_manager_print_info_fn) (af_memory_manager handle, char *buffer, int id)   Populates a character array with human readable information about the current state of the memory manager. More...
  typedef af_err(*  af_memory_manager_user_lock_fn) (af_memory_manager handle, void *ptr)   Called to lock a buffer as user-owned memory. More...
  typedef af_err(*  af_memory_manager_user_unlock_fn) (af_memory_manager handle, void *ptr)   Called to unlock a buffer from user-owned memory. More...
  typedef af_err(*  af_memory_manager_is_user_locked_fn) (af_memory_manager handle, int *out, void *ptr)   Queries if a buffer is user locked. More...
  typedef af_err(*  af_memory_manager_get_memory_pressure_fn) (af_memory_manager handle, float *pressure)   Gets memory pressure for a memory manager. More...
  typedef af_err(*  af_memory_manager_jit_tree_exceeds_memory_pressure_fn) (af_memory_manager handle, int *out, size_t size)   Called to query if additions to the JIT tree would exert too much memory pressure. More...
  typedef void(*  af_memory_manager_add_memory_management_fn) (af_memory_manager handle, int id)   Adds a new device to the memory manager (OpenCL only) More...
  typedef void(*  af_memory_manager_remove_memory_management_fn) (af_memory_manager handle, int id)   Removes a device from the memory manager (OpenCL only) More...
 

Functions for defining custom memory managers.

◆ af_memory_manager ◆ af_memory_manager_add_memory_management_fn typedef void(* af_memory_manager_add_memory_management_fn) (af_memory_manager handle, int id)

Adds a new device to the memory manager (OpenCL only)

Parameters
[in] handle a pointer to the active af_memory_manager handle [in] id the id of the device to add
Returns
AF_SUCCESS

Definition at line 215 of file memory.h.

◆ af_memory_manager_alloc_fn typedef af_err(* af_memory_manager_alloc_fn) (af_memory_manager handle, void **ptr, int user_lock, const unsigned ndims, dim_t *dims, const unsigned element_size)

Function pointer that will be called by ArrayFire to allocate memory.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] ptr pointer to the allocated buffer [in] user_lock a truthy value corresponding to whether or not the memory should have a user lock associated with it [in] ndims the number of dimensions associated with the allocated memory. This value is currently always 1 [in,out] dims a dim_t containing the dimensions of the allocation by number of elements. After the function returns, the pointer contains the shape of the allocated tensor [in] element_size the number of bytes per element of allocated memory
Returns
AF_SUCCESS

Definition at line 66 of file memory.h.

◆ af_memory_manager_allocated_fn

Checks the amount of allocated memory for a pointer.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] size the size of the allocated memory for the pointer [in] ptr the pointer to query
Returns
AF_SUCCESS

Definition at line 82 of file memory.h.

◆ af_memory_manager_get_memory_pressure_fn

Gets memory pressure for a memory manager.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] pressure the memory pressure value
Returns
AF_SUCCESS

Definition at line 176 of file memory.h.

◆ af_memory_manager_initialize_fn

Called after a memory manager is set and becomes active.

Parameters
Returns
AF_SUCCESS

Definition at line 36 of file memory.h.

◆ af_memory_manager_is_user_locked_fn

Queries if a buffer is user locked.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] out a truthy value corresponding to if the buffer is user locked [in] ptr pointer to the buffer to query
Returns
AF_SUCCESS

Definition at line 164 of file memory.h.

◆ af_memory_manager_jit_tree_exceeds_memory_pressure_fn typedef af_err(* af_memory_manager_jit_tree_exceeds_memory_pressure_fn) (af_memory_manager handle, int *out, size_t size)

Called to query if additions to the JIT tree would exert too much memory pressure.

The ArrayFire JIT compiler will call this function to determine if the number of bytes referenced by the buffers in the JIT tree are causing too much memory pressure on the system.

If the memory manager decides that the pressure is too great, the JIT tree will be evaluated and this COULD result in some buffers being freed if they are not referenced by other af_arrays. If the memory pressure is not too great the JIT tree may not be evaluated and could continue to get bigger.

The default memory manager will trigger an evaluation if the buffers in the JIT tree account for half of all buffers allocated.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] out a truthy value if too much memory pressure is exerted [in] size the total number of bytes allocated by all the buffer nodes in the current JIT tree
Returns
AF_SUCCESS

Definition at line 203 of file memory.h.

◆ af_memory_manager_print_info_fn

Populates a character array with human readable information about the current state of the memory manager.

Prints useful information about the memory manger and its state. No format is enforced and can include any information that could be useful to the user. This function is only called by af_print_mem_info.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] buffer a buffer to which a message will be populated [in] id the device id for which to print memory
Returns
AF_SUCCESS

Definition at line 127 of file memory.h.

◆ af_memory_manager_remove_memory_management_fn typedef void(* af_memory_manager_remove_memory_management_fn) (af_memory_manager handle, int id)

Removes a device from the memory manager (OpenCL only)

Parameters
[in] handle a pointer to the active af_memory_manager handle [in] id the id of the device to remove
Returns
AF_SUCCESS

Definition at line 227 of file memory.h.

◆ af_memory_manager_shutdown_fn

Called after a memory manager is unset and becomes unused.

Parameters
Returns
AF_SUCCESS

Definition at line 46 of file memory.h.

◆ af_memory_manager_signal_memory_cleanup_fn

Called to signal the memory manager should free memory if possible.

Called by some external functions that allocate their own memory if they receive an out of memory in order to free up other memory on a device

Parameters
Returns
AF_SUCCESS

Definition at line 109 of file memory.h.

◆ af_memory_manager_unlock_fn

Unlocks memory from use.

Parameters
[in] handle a pointer to the active af_memory_manager handle [out] ptr the pointer to query [in] user_unlock frees the memory from user lock
Returns
AF_SUCCESS

Definition at line 95 of file memory.h.

◆ af_memory_manager_user_lock_fn

Called to lock a buffer as user-owned memory.

Parameters
[in] handle a pointer to the active af_memory_manager handle [in] ptr pointer to the buffer to lock
Returns
AF_SUCCESS

Definition at line 139 of file memory.h.

◆ af_memory_manager_user_unlock_fn

Called to unlock a buffer from user-owned memory.

Parameters
[in] handle a pointer to the active af_memory_manager handle [in] ptr pointer to the buffer to unlock
Returns
AF_SUCCESS

Definition at line 151 of file memory.h.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4