package schema_v13

// Generated by https://github.com/twpayne/go-xmlstruct with some type corrections.
type smi struct {
	AttachedGpus  string `xml:"attached_gpus"`
	CudaVersion   string `xml:"cuda_version"`
	DriverVersion string `xml:"driver_version"`
	Gpu           []struct {
		ID                       string   `xml:"id,attr"`
		AccountedProcesses       struct{} `xml:"accounted_processes"`
		AccountingMode           string   `xml:"accounting_mode"`
		AccountingModeBufferSize string   `xml:"accounting_mode_buffer_size"`
		AddressingMode           string   `xml:"addressing_mode"`
		ApplicationsClocks       struct {
			GraphicsClock string `xml:"graphics_clock"`
			MemClock      string `xml:"mem_clock"`
		} `xml:"applications_clocks"`
		Bar1MemoryUsage struct {
			Free  string `xml:"free"`
			Total string `xml:"total"`
			Used  string `xml:"used"`
		} `xml:"bar1_memory_usage"`
		BoardID         string `xml:"board_id"`
		BoardPartNumber string `xml:"board_part_number"`
		C2cMode         string `xml:"c2c_mode"`
		Capabilities    struct {
			Egm string `xml:"egm"`
		} `xml:"capabilities"`
		CcProtectedMemoryUsage struct {
			Free  string `xml:"free"`
			Total string `xml:"total"`
			Used  string `xml:"used"`
		} `xml:"cc_protected_memory_usage"`
		ClockPolicy struct {
			AutoBoost        string `xml:"auto_boost"`
			AutoBoostDefault string `xml:"auto_boost_default"`
		} `xml:"clock_policy"`
		Clocks struct {
			GraphicsClock string `xml:"graphics_clock"`
			MemClock      string `xml:"mem_clock"`
			SmClock       string `xml:"sm_clock"`
			VideoClock    string `xml:"video_clock"`
		} `xml:"clocks"`
		ClocksEventReasons struct {
			ClocksEventReasonApplicationsClocksSetting string `xml:"clocks_event_reason_applications_clocks_setting"`
			ClocksEventReasonDisplayClocksSetting      string `xml:"clocks_event_reason_display_clocks_setting"`
			ClocksEventReasonGpuIdle                   string `xml:"clocks_event_reason_gpu_idle"`
			ClocksEventReasonHwPowerBrakeSlowdown      string `xml:"clocks_event_reason_hw_power_brake_slowdown"`
			ClocksEventReasonHwSlowdown                string `xml:"clocks_event_reason_hw_slowdown"`
			ClocksEventReasonHwThermalSlowdown         string `xml:"clocks_event_reason_hw_thermal_slowdown"`
			ClocksEventReasonSwPowerCap                string `xml:"clocks_event_reason_sw_power_cap"`
			ClocksEventReasonSwThermalSlowdown         string `xml:"clocks_event_reason_sw_thermal_slowdown"`
			ClocksEventReasonSyncBoost                 string `xml:"clocks_event_reason_sync_boost"`
		} `xml:"clocks_event_reasons"`
		ClocksEventReasonsCounters struct {
			ClocksEventReasonsCountersHwPowerBrake    string `xml:"clocks_event_reasons_counters_hw_power_brake"`
			ClocksEventReasonsCountersHwThermSlowdown string `xml:"clocks_event_reasons_counters_hw_therm_slowdown"`
			ClocksEventReasonsCountersSwPowerCap      string `xml:"clocks_event_reasons_counters_sw_power_cap"`
			ClocksEventReasonsCountersSwThermSlowdown string `xml:"clocks_event_reasons_counters_sw_therm_slowdown"`
			ClocksEventReasonsCountersSyncBoost       string `xml:"clocks_event_reasons_counters_sync_boost"`
		} `xml:"clocks_event_reasons_counters"`
		ComputeMode               string `xml:"compute_mode"`
		DefaultApplicationsClocks struct {
			GraphicsClock string `xml:"graphics_clock"`
			MemClock      string `xml:"mem_clock"`
		} `xml:"default_applications_clocks"`
		DeferredClocks struct {
			MemClock string `xml:"mem_clock"`
		} `xml:"deferred_clocks"`
		DisplayActive      string `xml:"display_active"`
		DisplayAttached    string `xml:"display_attached"`
		DisplayMode        string `xml:"display_mode"`
		DramEncryptionMode struct {
			CurrentDramEncryption string `xml:"current_dram_encryption"`
			PendingDramEncryption string `xml:"pending_dram_encryption"`
		} `xml:"dram_encryption_mode"`
		DriverModel struct {
			CurrentDm string `xml:"current_dm"`
			PendingDm string `xml:"pending_dm"`
		} `xml:"driver_model"`
		EccErrors struct {
			Aggregate struct {
				DramCorrectable         string `xml:"dram_correctable"`
				DramUncorrectable       string `xml:"dram_uncorrectable"`
				SramCorrectable         string `xml:"sram_correctable"`
				SramThresholdExceeded   string `xml:"sram_threshold_exceeded"`
				SramUncorrectable       string `xml:"sram_uncorrectable"`
				SramUncorrectableParity string `xml:"sram_uncorrectable_parity"`
				SramUncorrectableSecded string `xml:"sram_uncorrectable_secded"`
			} `xml:"aggregate"`
			AggregateUncorrectableSramSources struct {
				SramL2              string `xml:"sram_l2"`
				SramMicrocontroller string `xml:"sram_microcontroller"`
				SramOther           string `xml:"sram_other"`
				SramPcie            string `xml:"sram_pcie"`
				SramSm              string `xml:"sram_sm"`
			} `xml:"aggregate_uncorrectable_sram_sources"`
			ChannelRepairPending string `xml:"channel_repair_pending"`
			TpcRepairPending     string `xml:"tpc_repair_pending"`
			UnrepairableMemory   string `xml:"unrepairable_memory"`
			Volatile             struct {
				DramCorrectable         string `xml:"dram_correctable"`
				DramUncorrectable       string `xml:"dram_uncorrectable"`
				SramCorrectable         string `xml:"sram_correctable"`
				SramUncorrectable       string `xml:"sram_uncorrectable"`
				SramUncorrectableParity string `xml:"sram_uncorrectable_parity"`
				SramUncorrectableSecded string `xml:"sram_uncorrectable_secded"`
			} `xml:"volatile"`
		} `xml:"ecc_errors"`
		EccMode struct {
			CurrentEcc string `xml:"current_ecc"`
			PendingEcc string `xml:"pending_ecc"`
		} `xml:"ecc_mode"`
		EdppMultiplier string `xml:"edpp_multiplier"`
		EncoderStats   struct {
			AverageFps     string `xml:"average_fps"`
			AverageLatency string `xml:"average_latency"`
			SessionCount   string `xml:"session_count"`
		} `xml:"encoder_stats"`
		Fabric struct {
			CliqueID    string `xml:"cliqueId"`
			ClusterUUID string `xml:"clusterUuid"`
			Health      struct {
				AccessTimeoutRecovery   string `xml:"access_timeout_recovery"`
				Bandwidth               string `xml:"bandwidth"`
				IncorrectConfiguration  string `xml:"incorrect_configuration"`
				RouteRecoveryInProgress string `xml:"route_recovery_in_progress"`
				RouteUnhealthy          string `xml:"route_unhealthy"`
				Summary                 string `xml:"summary"`
			} `xml:"health"`
			State  string `xml:"state"`
			Status string `xml:"status"`
		} `xml:"fabric"`
		FanSpeed      string `xml:"fan_speed"`
		FbMemoryUsage struct {
			Free     string `xml:"free"`
			Reserved string `xml:"reserved"`
			Total    string `xml:"total"`
			Used     string `xml:"used"`
		} `xml:"fb_memory_usage"`
		FbcStats struct {
			AverageFps     string `xml:"average_fps"`
			AverageLatency string `xml:"average_latency"`
			SessionCount   string `xml:"session_count"`
		} `xml:"fbc_stats"`
		GpuFruPartNumber       string `xml:"gpu_fru_part_number"`
		GpuMemoryPowerReadings struct {
			AveragePowerDraw string `xml:"average_power_draw"`
			InstantPowerDraw string `xml:"instant_power_draw"`
		} `xml:"gpu_memory_power_readings"`
		GpuModuleID      string `xml:"gpu_module_id"`
		GpuOperationMode struct {
			CurrentGom string `xml:"current_gom"`
			PendingGom string `xml:"pending_gom"`
		} `xml:"gpu_operation_mode"`
		GpuPartNumber    string `xml:"gpu_part_number"`
		GpuPowerReadings struct {
			AveragePowerDraw    string `xml:"average_power_draw"`
			CurrentPowerLimit   string `xml:"current_power_limit"`
			DefaultPowerLimit   string `xml:"default_power_limit"`
			InstantPowerDraw    string `xml:"instant_power_draw"`
			MaxPowerLimit       string `xml:"max_power_limit"`
			MinPowerLimit       string `xml:"min_power_limit"`
			PowerDraw           string `xml:"power_draw"`
			PowerLimit          string `xml:"power_limit"`
			PowerState          string `xml:"power_state"`
			RequestedPowerLimit string `xml:"requested_power_limit"`
		} `xml:"gpu_power_readings"`
		GpuRecoveryAction string `xml:"gpu_recovery_action"`
		GpuResetStatus    struct {
			DrainAndResetRecommended string `xml:"drain_and_reset_recommended"`
			ResetRequired            string `xml:"reset_required"`
		} `xml:"gpu_reset_status"`
		GpuVirtualizationMode struct {
			HostVgpuMode          string `xml:"host_vgpu_mode"`
			VgpuHeterogeneousMode string `xml:"vgpu_heterogeneous_mode"`
			VirtualizationMode    string `xml:"virtualization_mode"`
		} `xml:"gpu_virtualization_mode"`
		GspFirmwareVersion string `xml:"gsp_firmware_version"`
		Ibmnpu             struct {
			RelaxedOrderingMode string `xml:"relaxed_ordering_mode"`
		} `xml:"ibmnpu"`
		InforomBbxFlush struct {
			LatestDuration  string `xml:"latest_duration"`
			LatestTimestamp string `xml:"latest_timestamp"`
		} `xml:"inforom_bbx_flush"`
		InforomVersion struct {
			EccObject  string `xml:"ecc_object"`
			ImgVersion string `xml:"img_version"`
			OemObject  string `xml:"oem_object"`
			PwrObject  string `xml:"pwr_object"`
		} `xml:"inforom_version"`
		MaxClocks struct {
			GraphicsClock string `xml:"graphics_clock"`
			MemClock      string `xml:"mem_clock"`
			SmClock       string `xml:"sm_clock"`
			VideoClock    string `xml:"video_clock"`
		} `xml:"max_clocks"`
		MaxCustomerBoostClocks struct {
			GraphicsClock string `xml:"graphics_clock"`
		} `xml:"max_customer_boost_clocks"`
		MigDevices struct {
			MigDevice []struct {
				Index             string `xml:"index"`
				GpuInstanceID     string `xml:"gpu_instance_id"`
				ComputeInstanceID string `xml:"compute_instance_id"`
				EccErrorCount     struct {
					Text          string `xml:",chardata" json:"text"`
					VolatileCount struct {
						SramUncorrectable string `xml:"sram_uncorrectable"`
					} `xml:"volatile_count" json:"volatile_count"`
				} `xml:"ecc_error_count" json:"ecc_error_count"`
				FbMemoryUsage struct {
					Total    string `xml:"total"`
					Reserved string `xml:"reserved"`
					Used     string `xml:"used"`
					Free     string `xml:"free"`
				} `xml:"fb_memory_usage" json:"fb_memory_usage"`
				Bar1MemoryUsage struct {
					Total string `xml:"total"`
					Used  string `xml:"used"`
					Free  string `xml:"free"`
				} `xml:"bar1_memory_usage" json:"bar1_memory_usage"`
			} `xml:"mig_device" json:"mig_device"`
		} `xml:"mig_devices" json:"mig_devices"`
		MigMode struct {
			CurrentMig string `xml:"current_mig"`
			PendingMig string `xml:"pending_mig"`
		} `xml:"mig_mode"`
		MinorNumber         string `xml:"minor_number"`
		ModulePowerReadings struct {
			AveragePowerDraw    string `xml:"average_power_draw"`
			CurrentPowerLimit   string `xml:"current_power_limit"`
			DefaultPowerLimit   string `xml:"default_power_limit"`
			InstantPowerDraw    string `xml:"instant_power_draw"`
			MaxPowerLimit       string `xml:"max_power_limit"`
			MinPowerLimit       string `xml:"min_power_limit"`
			PowerDraw           string `xml:"power_draw"`
			PowerState          string `xml:"power_state"`
			RequestedPowerLimit string `xml:"requested_power_limit"`
		} `xml:"module_power_readings"`
		MultigpuBoard string `xml:"multigpu_board"`
		Pci           struct {
			AtomicCapsInbound  string `xml:"atomic_caps_inbound"`
			AtomicCapsOutbound string `xml:"atomic_caps_outbound"`
			PciBaseClass       string `xml:"pci_base_class"`
			PciBridgeChip      struct {
				BridgeChipFw   string `xml:"bridge_chip_fw"`
				BridgeChipType string `xml:"bridge_chip_type"`
			} `xml:"pci_bridge_chip"`
			PciBus         string `xml:"pci_bus"`
			PciBusID       string `xml:"pci_bus_id"`
			PciDevice      string `xml:"pci_device"`
			PciDeviceID    string `xml:"pci_device_id"`
			PciDomain      string `xml:"pci_domain"`
			PciGpuLinkInfo struct {
				LinkWidths struct {
					CurrentLinkWidth string `xml:"current_link_width"`
					MaxLinkWidth     string `xml:"max_link_width"`
				} `xml:"link_widths"`
				PcieGen struct {
					CurrentLinkGen       string `xml:"current_link_gen"`
					DeviceCurrentLinkGen string `xml:"device_current_link_gen"`
					MaxDeviceLinkGen     string `xml:"max_device_link_gen"`
					MaxHostLinkGen       string `xml:"max_host_link_gen"`
					MaxLinkGen           string `xml:"max_link_gen"`
				} `xml:"pcie_gen"`
			} `xml:"pci_gpu_link_info"`
			PciSubClass           string `xml:"pci_sub_class"`
			PciSubSystemID        string `xml:"pci_sub_system_id"`
			ReplayCounter         string `xml:"replay_counter"`
			ReplayRolloverCounter string `xml:"replay_rollover_counter"`
			RxUtil                string `xml:"rx_util"`
			TxUtil                string `xml:"tx_util"`
		} `xml:"pci"`
		Pdi              string `xml:"pdi"`
		PerformanceState string `xml:"performance_state"`
		PersistenceMode  string `xml:"persistence_mode"`
		PlatformInfo     struct {
			ChassisSerialNumber string `xml:"chassis_serial_number"`
			GpuFabricGUID       string `xml:"gpu_fabric_guid"`
			HostID              string `xml:"host_id"`
			ModuleID            string `xml:"module_id"`
			PeerType            string `xml:"peer_type"`
			SlotNumber          string `xml:"slot_number"`
			TrayIndex           string `xml:"tray_index"`
		} `xml:"platformInfo"`
		PowerProfiles struct {
			PowerProfileEnforcedProfiles  string `xml:"power_profile_enforced_profiles"`
			PowerProfileRequestedProfiles string `xml:"power_profile_requested_profiles"`
		} `xml:"power_profiles"`
		PowerReadings struct {
			AveragePowerDraw   string `xml:"average_power_draw"`
			DefaultPowerLimit  string `xml:"default_power_limit"`
			EnforcedPowerLimit string `xml:"enforced_power_limit"`
			InstantPowerDraw   string `xml:"instant_power_draw"`
			MaxPowerLimit      string `xml:"max_power_limit"`
			MinPowerLimit      string `xml:"min_power_limit"`
			PowerDraw          string `xml:"power_draw"`
			PowerLimit         string `xml:"power_limit"`
			PowerManagement    string `xml:"power_management"`
			PowerState         string `xml:"power_state"`
		} `xml:"power_readings"`
		PowerSmoothing string `xml:"power_smoothing"`
		Processes      struct {
			ProcessInfo []struct {
				ComputeInstanceID string `xml:"compute_instance_id"`
				GpuInstanceID     string `xml:"gpu_instance_id"`
				Pid               string `xml:"pid"`
				ProcessName       string `xml:"process_name"`
				Type              string `xml:"type"`
				UsedMemory        string `xml:"used_memory"`
			} `xml:"process_info"`
		} `xml:"processes"`
		ProductArchitecture string `xml:"product_architecture"`
		ProductBrand        string `xml:"product_brand"`
		ProductName         string `xml:"product_name"`
		RemappedRows        struct {
			RemappedRowCorr      string `xml:"remapped_row_corr"`
			RemappedRowFailure   string `xml:"remapped_row_failure"`
			RemappedRowPending   string `xml:"remapped_row_pending"`
			RemappedRowUnc       string `xml:"remapped_row_unc"`
			RowRemapperHistogram struct {
				RowRemapperHistogramHigh    string `xml:"row_remapper_histogram_high"`
				RowRemapperHistogramLow     string `xml:"row_remapper_histogram_low"`
				RowRemapperHistogramMax     string `xml:"row_remapper_histogram_max"`
				RowRemapperHistogramNone    string `xml:"row_remapper_histogram_none"`
				RowRemapperHistogramPartial string `xml:"row_remapper_histogram_partial"`
			} `xml:"row_remapper_histogram"`
		} `xml:"remapped_rows"`
		RetiredPages struct {
			DoubleBitRetirement struct {
				RetiredCount    string `xml:"retired_count"`
				RetiredPagelist string `xml:"retired_pagelist"`
			} `xml:"double_bit_retirement"`
			MultipleSingleBitRetirement struct {
				RetiredCount    string `xml:"retired_count"`
				RetiredPagelist string `xml:"retired_pagelist"`
			} `xml:"multiple_single_bit_retirement"`
			PendingBlacklist  string `xml:"pending_blacklist"`
			PendingRetirement string `xml:"pending_retirement"`
		} `xml:"retired_pages"`
		Serial              string `xml:"serial"`
		SparseOperationMode string `xml:"sparse_operation_mode"`
		SupportedClocks     struct {
			SupportedMemClock []struct {
				SupportedGraphicsClock []string `xml:"supported_graphics_clock"`
				Value                  string   `xml:"value"`
			} `xml:"supported_mem_clock"`
		} `xml:"supported_clocks"`
		SupportedGpuTargetTemp struct {
			GpuTargetTempMax string `xml:"gpu_target_temp_max"`
			GpuTargetTempMin string `xml:"gpu_target_temp_min"`
		} `xml:"supported_gpu_target_temp"`
		Temperature struct {
			GpuTargetTemperature         string `xml:"gpu_target_temperature"`
			GpuTemp                      string `xml:"gpu_temp"`
			GpuTempMaxGpuTlimitThreshold string `xml:"gpu_temp_max_gpu_tlimit_threshold"`
			GpuTempMaxMemTlimitThreshold string `xml:"gpu_temp_max_mem_tlimit_threshold"`
			GpuTempMaxTlimitThreshold    string `xml:"gpu_temp_max_tlimit_threshold"`
			GpuTempSlowTlimitThreshold   string `xml:"gpu_temp_slow_tlimit_threshold"`
			GpuTempTlimit                string `xml:"gpu_temp_tlimit"`
			MemoryTemp                   string `xml:"memory_temp"`
		} `xml:"temperature"`
		Utilization struct {
			DecoderUtil string `xml:"decoder_util"`
			EncoderUtil string `xml:"encoder_util"`
			GpuUtil     string `xml:"gpu_util"`
			JpegUtil    string `xml:"jpeg_util"`
			MemoryUtil  string `xml:"memory_util"`
			OfaUtil     string `xml:"ofa_util"`
		} `xml:"utilization"`
		UUID         string `xml:"uuid"`
		VbiosVersion string `xml:"vbios_version"`
		Voltage      struct {
			GraphicsVolt string `xml:"graphics_volt"`
		} `xml:"voltage"`
	} `xml:"gpu"`
	Timestamp string `xml:"timestamp"`
}
