160 lines
4.4 KiB
Groff
160 lines
4.4 KiB
Groff
.TH "hwlocality_creation" 3 "Wed Dec 14 2022" "Version 2.9.0" "Hardware Locality (hwloc)" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
hwlocality_creation \- Topology Creation and Destruction
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.SS "Typedefs"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "typedef struct hwloc_topology * \fBhwloc_topology_t\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "int \fBhwloc_topology_init\fP (\fBhwloc_topology_t\fP *topologyp)"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBhwloc_topology_load\fP (\fBhwloc_topology_t\fP topology)"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBhwloc_topology_destroy\fP (\fBhwloc_topology_t\fP topology)"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBhwloc_topology_dup\fP (\fBhwloc_topology_t\fP *newtopology, \fBhwloc_topology_t\fP oldtopology)"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBhwloc_topology_abi_check\fP (\fBhwloc_topology_t\fP topology)"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBhwloc_topology_check\fP (\fBhwloc_topology_t\fP topology)"
|
|
.br
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
|
|
.SH "Typedef Documentation"
|
|
.PP
|
|
.SS "typedef struct hwloc_topology* \fBhwloc_topology_t\fP"
|
|
|
|
.PP
|
|
Topology context\&. To be initialized with \fBhwloc_topology_init()\fP and built with \fBhwloc_topology_load()\fP\&.
|
|
.SH "Function Documentation"
|
|
.PP
|
|
.SS "int hwloc_topology_abi_check (\fBhwloc_topology_t\fP topology)"
|
|
|
|
.PP
|
|
Verify that the topology is compatible with the current hwloc library\&. This is useful when using the same topology structure (in memory) in different libraries that may use different hwloc installations (for instance if one library embeds a specific version of hwloc, while another library uses a default system-wide hwloc installation)\&.
|
|
.PP
|
|
If all libraries/programs use the same hwloc installation, this function always returns success\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
\fC0\fP on success\&.
|
|
.PP
|
|
\fC-1\fP with \fCerrno\fP set to \fCEINVAL\fP if incompatible\&.
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
If sharing between processes with \fBhwloc_shmem_topology_write()\fP, the relevant check is already performed inside \fBhwloc_shmem_topology_adopt()\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "void hwloc_topology_check (\fBhwloc_topology_t\fP topology)"
|
|
|
|
.PP
|
|
Run internal checks on a topology structure\&. The program aborts if an inconsistency is detected in the given topology\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fItopology\fP is the topology to be checked
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
This routine is only useful to developers\&.
|
|
.PP
|
|
The input topology should have been previously loaded with \fBhwloc_topology_load()\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "void hwloc_topology_destroy (\fBhwloc_topology_t\fP topology)"
|
|
|
|
.PP
|
|
Terminate and free a topology context\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fItopology\fP is the topology to be freed
|
|
.RE
|
|
.PP
|
|
|
|
.SS "int hwloc_topology_dup (\fBhwloc_topology_t\fP * newtopology, \fBhwloc_topology_t\fP oldtopology)"
|
|
|
|
.PP
|
|
Duplicate a topology\&. The entire topology structure as well as its objects are duplicated into a new one\&.
|
|
.PP
|
|
This is useful for keeping a backup while modifying a topology\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
Object userdata is not duplicated since hwloc does not know what it point to\&. The objects of both old and new topologies will point to the same userdata\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "int hwloc_topology_init (\fBhwloc_topology_t\fP * topologyp)"
|
|
|
|
.PP
|
|
Allocate a topology context\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fItopologyp\fP is assigned a pointer to the new allocated context\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
0 on success, -1 on error\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "int hwloc_topology_load (\fBhwloc_topology_t\fP topology)"
|
|
|
|
.PP
|
|
Build the actual topology\&. Build the actual topology once initialized with \fBhwloc_topology_init()\fP and tuned with \fBTopology Detection Configuration and Query\fP and \fBChanging the Source of Topology Discovery\fP routines\&. No other routine may be called earlier using this topology context\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fItopology\fP is the topology to be loaded with objects\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
0 on success, -1 on error\&.
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
On failure, the topology is reinitialized\&. It should be either destroyed with \fBhwloc_topology_destroy()\fP or configured and loaded again\&.
|
|
.PP
|
|
This function may be called only once per topology\&.
|
|
.PP
|
|
The binding of the current thread or process may temporarily change during this call but it will be restored before it returns\&.
|
|
.RE
|
|
.PP
|
|
\fBSee also\fP
|
|
.RS 4
|
|
\fBTopology Detection Configuration and Query\fP and \fBChanging the Source of Topology Discovery\fP
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code\&.
|