hwlocality_nvml.3 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. .TH "hwlocality_nvml" 3 "Thu Sep 7 2023" "Version 2.9.3" "Hardware Locality (hwloc)" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. hwlocality_nvml \- Interoperability with the NVIDIA Management Library
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .SS "Functions"
  10. .in +1c
  11. .ti -1c
  12. .RI "static int \fBhwloc_nvml_get_device_cpuset\fP (\fBhwloc_topology_t\fP topology, nvmlDevice_t device, \fBhwloc_cpuset_t\fP set)"
  13. .br
  14. .ti -1c
  15. .RI "static \fBhwloc_obj_t\fP \fBhwloc_nvml_get_device_osdev_by_index\fP (\fBhwloc_topology_t\fP topology, unsigned idx)"
  16. .br
  17. .ti -1c
  18. .RI "static \fBhwloc_obj_t\fP \fBhwloc_nvml_get_device_osdev\fP (\fBhwloc_topology_t\fP topology, nvmlDevice_t device)"
  19. .br
  20. .in -1c
  21. .SH "Detailed Description"
  22. .PP
  23. This interface offers ways to retrieve topology information about devices managed by the NVIDIA Management Library (NVML)\&.
  24. .SH "Function Documentation"
  25. .PP
  26. .SS "static int hwloc_nvml_get_device_cpuset (\fBhwloc_topology_t\fP topology, nvmlDevice_t device, \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 NVML device \fCdevice\fP\&. Store in \fCset\fP the CPU-set describing the locality of the NVML device \fCdevice\fP\&.
  29. .PP
  30. Topology \fCtopology\fP and device \fCdevice\fP must match the local machine\&. I/O devices detection and the NVML component are 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_nvml_get_device_osdev()\fP and \fBhwloc_nvml_get_device_osdev_by_index()\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_nvml_get_device_osdev (\fBhwloc_topology_t\fP topology, nvmlDevice_t device)\fC [inline]\fP, \fC [static]\fP"
  44. .PP
  45. Get the hwloc OS device object corresponding to NVML device \fCdevice\fP\&.
  46. .PP
  47. \fBReturns\fP
  48. .RS 4
  49. The hwloc OS device object that describes the given NVML device \fCdevice\fP\&.
  50. .PP
  51. \fCNULL\fP if none could be found\&.
  52. .RE
  53. .PP
  54. Topology \fCtopology\fP and device \fCdevice\fP must match the local machine\&. I/O devices detection and the NVML component must be enabled in the topology\&. If not, the locality of the object may still be found using \fBhwloc_nvml_get_device_cpuset()\fP\&.
  55. .PP
  56. \fBNote\fP
  57. .RS 4
  58. The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out)\&.
  59. .RE
  60. .PP
  61. .SS "static \fBhwloc_obj_t\fP hwloc_nvml_get_device_osdev_by_index (\fBhwloc_topology_t\fP topology, unsigned idx)\fC [inline]\fP, \fC [static]\fP"
  62. .PP
  63. Get the hwloc OS device object corresponding to the NVML device whose index is \fCidx\fP\&.
  64. .PP
  65. \fBReturns\fP
  66. .RS 4
  67. The hwloc OS device object describing the NVML device whose index is \fCidx\fP\&.
  68. .PP
  69. \fCNULL\fP if none could be found\&.
  70. .RE
  71. .PP
  72. 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 and the NVML component must be enabled in the topology\&.
  73. .PP
  74. \fBNote\fP
  75. .RS 4
  76. The corresponding PCI device object can be obtained by looking at the OS device parent object (unless PCI devices are filtered out)\&.
  77. .RE
  78. .PP
  79. .SH "Author"
  80. .PP
  81. Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code\&.