Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACS ¶
type ACS struct { SrcValid bool `json:"src_valid"` TransBlk bool `json:"trans_blk"` ReqRedir bool `json:"req_redir"` CmpltRedir bool `json:"cmplt_redir"` UpstreamFwd bool `json:"upstream_fwd"` EgressCtrl bool `json:"egress_ctrl"` DirectTrans bool `json:"direct_trans"` }
e.g., ACSCap: SrcValid+ TransBlk+ ReqRedir- CmpltRedir- UpstreamFwd+ EgressCtrl- DirectTrans- ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
type AccessControlService ¶
type AccessControlService struct { ACSCap ACS `json:"acs_cap"` // Access Control Service Control, useful to validate bare metal PCI config. // e.g., // If this device sets SrcValid+ (SrcValid: true), then ACS is enabled: // "IO virtualization (also known as VT-d or IOMMU) can interfere with GPU Direct // by redirecting all PCI point-to-point traffic to the CPU root complex, // causing a significant performance reduction or even a hang. // If PCI switches have ACS enabled (on baremetal systems), it needs to be disabled." // ref. https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#pci-access-control-services-acs ACSCtl ACS `json:"acs_ctl"` }
type Device ¶
type Device struct { // ID of the PCI device. // e.g., "00:0e.0" in "00:0e.0 PCI ..." ID string `json:"id"` // Name that comes after the ID. // e.g., "3D controller" in "00:0e.0 3D controller" Name string `json:"name"` // Access control service. // e.g., Capabilities: [170 v1] Access Control Services AccessControlService *AccessControlService `json:"access_control_service,omitempty"` // Kernel driver in use. // e.g., Kernel driver in use: pcieport KernelDriverInUse string `json:"kernel_driver_in_use,omitempty"` // Kernel modules. // e.g., Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia KernelModules []string `json:"kernel_modules,omitempty"` }
Click to show internal directories.
Click to hide internal directories.