hwloc_distances_s.3 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. .TH "hwloc_distances_s" 3 "Thu Sep 7 2023" "Version 2.9.3" "Hardware Locality (hwloc)" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. hwloc_distances_s
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .PP
  10. \fC#include <distances\&.h>\fP
  11. .SS "Data Fields"
  12. .in +1c
  13. .ti -1c
  14. .RI "unsigned \fBnbobjs\fP"
  15. .br
  16. .ti -1c
  17. .RI "\fBhwloc_obj_t\fP * \fBobjs\fP"
  18. .br
  19. .ti -1c
  20. .RI "unsigned long \fBkind\fP"
  21. .br
  22. .ti -1c
  23. .RI "hwloc_uint64_t * \fBvalues\fP"
  24. .br
  25. .in -1c
  26. .SH "Detailed Description"
  27. .PP
  28. Matrix of distances between a set of objects\&.
  29. This matrix often contains latencies between NUMA nodes (as reported in the System Locality Distance Information Table (SLIT) in the ACPI specification), which may or may not be physically accurate\&. It corresponds to the latency for accessing the memory of one node from a core in another node\&. The corresponding kind is \fBHWLOC_DISTANCES_KIND_FROM_OS\fP | \fBHWLOC_DISTANCES_KIND_FROM_USER\fP\&. The name of this distances structure is 'NUMALatency'\&. Others distance structures include and 'XGMIBandwidth', 'XGMIHops', 'XeLinkBandwidth' and 'NVLinkBandwidth'\&.
  30. .PP
  31. The matrix may also contain bandwidths between random sets of objects, possibly provided by the user, as specified in the \fCkind\fP attribute\&.
  32. .PP
  33. Pointers \fCobjs\fP and \fCvalues\fP should not be replaced, reallocated, freed, etc\&. However callers are allowed to modify \fCkind\fP as well as the contents of \fCobjs\fP and \fCvalues\fP arrays\&. For instance, if there is a single NUMA node per Package, \fBhwloc_get_obj_with_same_locality()\fP may be used to convert between them and replace NUMA nodes in the \fCobjs\fP array with the corresponding Packages\&. See also \fBhwloc_distances_transform()\fP for applying some transformations to the structure\&.
  34. .SH "Field Documentation"
  35. .PP
  36. .SS "unsigned long hwloc_distances_s::kind"
  37. .PP
  38. OR'ed set of \fBhwloc_distances_kind_e\fP\&.
  39. .SS "unsigned hwloc_distances_s::nbobjs"
  40. .PP
  41. Number of objects described by the distance matrix\&.
  42. .SS "\fBhwloc_obj_t\fP* hwloc_distances_s::objs"
  43. .PP
  44. Array of objects described by the distance matrix\&. These objects are not in any particular order, see \fBhwloc_distances_obj_index()\fP and \fBhwloc_distances_obj_pair_values()\fP for easy ways to find objects in this array and their corresponding values\&.
  45. .SS "hwloc_uint64_t* hwloc_distances_s::values"
  46. .PP
  47. Matrix of distances between objects, stored as a one-dimension array\&. Distance from i-th to j-th object is stored in slot i*nbobjs+j\&. The meaning of the value depends on the \fCkind\fP attribute\&.
  48. .SH "Author"
  49. .PP
  50. Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code\&.