hwlocality_openfabrics.3 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. .TH "hwlocality_openfabrics" 3 "Thu Sep 7 2023" "Version 2.9.3" "Hardware Locality (hwloc)" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. hwlocality_openfabrics \- Interoperability with OpenFabrics
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .SS "Functions"
  10. .in +1c
  11. .ti -1c
  12. .RI "static int \fBhwloc_ibv_get_device_cpuset\fP (\fBhwloc_topology_t\fP topology, struct ibv_device *ibdev, \fBhwloc_cpuset_t\fP set)"
  13. .br
  14. .ti -1c
  15. .RI "static \fBhwloc_obj_t\fP \fBhwloc_ibv_get_device_osdev_by_name\fP (\fBhwloc_topology_t\fP topology, const char *ibname)"
  16. .br
  17. .ti -1c
  18. .RI "static \fBhwloc_obj_t\fP \fBhwloc_ibv_get_device_osdev\fP (\fBhwloc_topology_t\fP topology, struct ibv_device *ibdev)"
  19. .br
  20. .in -1c
  21. .SH "Detailed Description"
  22. .PP
  23. This interface offers ways to retrieve topology information about OpenFabrics devices (InfiniBand, Omni-Path, usNIC, etc)\&.
  24. .SH "Function Documentation"
  25. .PP
  26. .SS "static int hwloc_ibv_get_device_cpuset (\fBhwloc_topology_t\fP topology, struct ibv_device * ibdev, \fBhwloc_cpuset_t\fP set)\fC [inline]\fP, \fC [static]\fP"
  27. .PP
  28. Get the CPU set of processors that are physically close to device \fCibdev\fP\&. Store in \fCset\fP the CPU-set describing the locality of the OpenFabrics device \fCibdev\fP (InfiniBand, etc)\&.
  29. .PP
  30. Topology \fCtopology\fP and device \fCibdev\fP must match the local machine\&. I/O devices detection is not needed in the topology\&.
  31. .PP
  32. The function only returns the locality of the device\&. If more information about the device is needed, OS objects should be used instead, see \fBhwloc_ibv_get_device_osdev()\fP and \fBhwloc_ibv_get_device_osdev_by_name()\fP\&.
  33. .PP
  34. This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset\&.
  35. .PP
  36. \fBReturns\fP
  37. .RS 4
  38. 0 on success\&.
  39. .PP
  40. -1 on error, for instance if device information could not be found\&.
  41. .RE
  42. .PP
  43. .SS "static \fBhwloc_obj_t\fP hwloc_ibv_get_device_osdev (\fBhwloc_topology_t\fP topology, struct ibv_device * ibdev)\fC [inline]\fP, \fC [static]\fP"
  44. .PP
  45. Get the hwloc OS device object corresponding to the OpenFabrics device \fCibdev\fP\&.
  46. .PP
  47. \fBReturns\fP
  48. .RS 4
  49. The hwloc OS device object describing the OpenFabrics device \fCibdev\fP (InfiniBand, etc)\&.
  50. .PP
  51. \fCNULL\fP if none could be found\&.
  52. .RE
  53. .PP
  54. Topology \fCtopology\fP and device \fCibdev\fP must match the local machine\&. I/O devices detection must be enabled in the topology\&. If not, the locality of the object may still be found using \fBhwloc_ibv_get_device_cpuset()\fP\&.
  55. .PP
  56. \fBNote\fP
  57. .RS 4
  58. The corresponding PCI device object can be obtained by looking at the OS device parent object\&.
  59. .RE
  60. .PP
  61. .SS "static \fBhwloc_obj_t\fP hwloc_ibv_get_device_osdev_by_name (\fBhwloc_topology_t\fP topology, const char * ibname)\fC [inline]\fP, \fC [static]\fP"
  62. .PP
  63. Get the hwloc OS device object corresponding to the OpenFabrics device named \fCibname\fP\&.
  64. .PP
  65. \fBReturns\fP
  66. .RS 4
  67. The hwloc OS device object describing the OpenFabrics device (InfiniBand, Omni-Path, usNIC, etc) whose name is \fCibname\fP (mlx5_0, hfi1_0, usnic_0, qib0, etc)\&.
  68. .PP
  69. \fCNULL\fP if none could be found\&.
  70. .RE
  71. .PP
  72. The name \fCibname\fP is usually obtained from ibv_get_device_name()\&.
  73. .PP
  74. The topology \fCtopology\fP does not necessarily have to match the current machine\&. For instance the topology may be an XML import of a remote host\&. I/O devices detection must be enabled in the topology\&.
  75. .PP
  76. \fBNote\fP
  77. .RS 4
  78. The corresponding PCI device object can be obtained by looking at the OS device parent object\&.
  79. .RE
  80. .PP
  81. .SH "Author"
  82. .PP
  83. Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code\&.