Documentation ¶
Overview ¶
Package infiniband provides utilities to query infiniband status.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrIbstatOutputBrokenStateDown = errors.New("ibstat output unexpected; found State: Down (check the physical switch)") ErrIbstatOutputBrokenPhysicalDisabled = errors.New("ibstat output unexpected; found Physical state: Disabled (check the physical switch)") )
Functions ¶
func IbstatExists ¶
func IbstatExists() bool
func InfinibandClassExists ¶
func InfinibandClassExists() bool
Checks if "/sys/class/infiniband" directory exists.
func SupportsInfinibandProduct ¶
Returns true if the product supports infiniband. e.g., "NVIDIA A100" "NVIDIA H100"
func ValidateIbstatOutput ¶
Types ¶
type IBStatCard ¶
type IBStatCard struct { Name string `json:"CA name"` Type string `json:"CA type"` NumPorts string `json:"Number of ports"` FirmwareVersion string `json:"Firmware version"` HardwareVersion string `json:"Hardware version"` NodeGUID string `json:"Node GUID"` SystemImageGUID string `json:"System image GUID"` Port1 IBStatPort `json:"Port 1"` }
type IBStatCards ¶
type IBStatCards []IBStatCard
func ParseIBStat ¶
func ParseIBStat(input string) (IBStatCards, error)
ParseIBStat parses ibstat output and returns YAML representation
func (IBStatCards) CountByRates ¶
func (cards IBStatCards) CountByRates(rate int, expectedState string, expectedPhysicalState string) int
Counts the number of cards whose "Port 1"."Rate" is equal to or greater than the specified rate (e.g., count all the cards whose rate is >= 400). If `expectedState` is not empty, it only counts the cards whose "Port 1"."State" is equal to the expected state. If `expectedPhysicalState` is not empty, it only counts the cards whose "Port 1"."Physical state" is equal to the expected physical state.
type IBStatPort ¶
type IbstatOutput ¶
type IbstatOutput struct { Parsed IBStatCards `json:"parsed,omitempty"` Raw string `json:"raw"` Errors []string `json:"errors,omitempty"` }
Click to show internal directories.
Click to hide internal directories.