Documentation ¶
Overview ¶
Package nvlink provides a connector that can create a network that includes PCIe, NVLink, and ethernet network.
Index ¶
- type Connector
- func (c *Connector) AddPCIeSwitch() (switchID int)
- func (c *Connector) AddRootComplex(cpuPorts []sim.Port) (switchID int)
- func (c *Connector) ConnectDevicesWithNVLink(deviceA, deviceB int, numLink int)
- func (c *Connector) ConnectSwitchesWithEthernetLink(switchAID, switchBID int)
- func (c *Connector) ConnectSwitchesWithPCIeLink(switchAID, switchBID int)
- func (c *Connector) CreateEthernetSwitch() (switchID int)
- func (c *Connector) CreateNetwork(name string)
- func (c *Connector) EstablishRoute()
- func (c *Connector) PlugInDevice(pcieSwitchID int, devicePorts []sim.Port) (deviceID int)
- func (c *Connector) WithEngine(engine sim.Engine) *Connector
- func (c *Connector) WithEthernetBandwidth(bytePerSecond uint64) *Connector
- func (c *Connector) WithEthernetSwitchLatency(numCycle int) *Connector
- func (c *Connector) WithFrequency(freq sim.Freq) *Connector
- func (c *Connector) WithMonitor(m *monitoring.Monitor) *Connector
- func (c *Connector) WithNVLinkBandwidth(bytePerSecond uint64) *Connector
- func (c *Connector) WithNVLinkSwitchLatency(numCycle int) *Connector
- func (c *Connector) WithNVLinkVersion(version int) *Connector
- func (c *Connector) WithPCIeBandwidth(bytePerSecond uint64) *Connector
- func (c *Connector) WithPCIeSwitchLatency(numCycles int) *Connector
- func (c *Connector) WithPCIeVersion(version int, width int) *Connector
- func (c Connector) WithVisTracer(t tracing.Tracer) Connector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Connector ¶
type Connector struct {
// contains filtered or unexported fields
}
Connector can connect devices into a network that includes PCIe, NVLink, and ethernet network.
func NewConnector ¶
func NewConnector() *Connector
NewConnector creates a new connector that can help configure PCIe networks.
func (*Connector) AddPCIeSwitch ¶
AddPCIeSwitch adds a new switch connecting from an existing switch.
func (*Connector) AddRootComplex ¶
AddRootComplex adds a new switch connecting CPU ports.
func (*Connector) ConnectDevicesWithNVLink ¶
ConnectDevicesWithNVLink establishes an NVLink Connection.
func (*Connector) ConnectSwitchesWithEthernetLink ¶
ConnectSwitchesWithEthernetLink establishes a ethernet link between two switches.
func (*Connector) ConnectSwitchesWithPCIeLink ¶
ConnectSwitchesWithPCIeLink connects two switches with a PCIe link.
func (*Connector) CreateEthernetSwitch ¶
CreateEthernetSwitch creates a ethernet switch.
func (*Connector) CreateNetwork ¶
CreateNetwork creates a network. This function should be called before creating root complexes.
func (*Connector) EstablishRoute ¶
func (c *Connector) EstablishRoute()
EstablishRoute populates the routing tables in the network.
func (*Connector) PlugInDevice ¶
PlugInDevice connects a series of ports to a switch.
func (*Connector) WithEngine ¶
WithEngine sets the event-driven simulation engine that the PCIe connection uses.
func (*Connector) WithEthernetBandwidth ¶
WithEthernetBandwidth sets the bandwidth of each ethernet link.
func (*Connector) WithEthernetSwitchLatency ¶
WithEthernetSwitchLatency sets the latency of the ethernet switch.
func (*Connector) WithFrequency ¶
WithFrequency sets the frequency of the components in the connection.
func (*Connector) WithMonitor ¶
func (c *Connector) WithMonitor(m *monitoring.Monitor) *Connector
WithMonitor sets the monitor that monitors the components in the connection.
func (*Connector) WithNVLinkBandwidth ¶
WithNVLinkBandwidth sets the bandwidth of each bandwidth link.
func (*Connector) WithNVLinkSwitchLatency ¶
WithNVLinkSwitchLatency sets the latency of each NVLink switch.
func (*Connector) WithNVLinkVersion ¶
WithNVLinkVersion sets the version of the NVLink to use.
func (*Connector) WithPCIeBandwidth ¶
WithPCIeBandwidth sets the bandwidth of all the connections in the PCIe network.
func (*Connector) WithPCIeSwitchLatency ¶
WithPCIeSwitchLatency sets the latency of each switch before the data can be forwarded to the next hop.
func (*Connector) WithPCIeVersion ¶
WithPCIeVersion sets the version of the PCIe network.