#[repr(C)]pub struct uct_md_mem_attr {
pub field_mask: u64,
pub mem_type: ucs_memory_type_t,
pub sys_dev: ucs_sys_device_t,
pub base_address: *mut c_void,
pub alloc_length: size_t,
}Expand description
@ingroup UCT_MD @brief Memory domain attributes.
This structure defines the attributes of a memory pointer which may include the memory type of the pointer, and the system device that backs the pointer depending on the bit fields populated in field_mask.
Fields§
§field_mask: u64Mask of valid fields in this structure, using bits from @ref uct_md_mem_attr_field_t.
mem_type: ucs_memory_type_tThe type of memory. E.g. CPU/GPU memory or some other valid type. If the md does not support sys_dev query, then UCS_MEMORY_TYPE_UNKNOWN is returned.
sys_dev: ucs_sys_device_tIndex of the system device on which the buffer resides. eg: NUMA/GPU If the md does not support sys_dev query, then UCS_SYS_DEVICE_ID_UNKNOWN is returned.
base_address: *mut c_voidBase address of the allocation to which the provided buffer belongs to. If the md not support base address query, then the pointer passed to uct_md_mem_query is returned as is.
alloc_length: size_tLength of the whole allocation to which the provided buffer belongs to. If the md not support querying allocation length, then the length passed to uct_md_mem_query is returned as is.
Trait Implementations§
Source§impl Clone for uct_md_mem_attr
impl Clone for uct_md_mem_attr
Source§fn clone(&self) -> uct_md_mem_attr
fn clone(&self) -> uct_md_mem_attr
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more