コード例 #1
0
ファイル: AMD17CPU.cs プロジェクト: ColourMans/Autom
            public Core(Hardware hw, int id)
            {
                Threads     = new List <CPUID>();
                CoreId      = id;
                _hw         = (AMD17CPU)hw;
                _clock      = new Sensor("Core #" + CoreId.ToString(), _hw._sensorClock++, SensorType.Clock, _hw, _hw.settings);
                _multiplier = new Sensor("Core #" + CoreId.ToString(), _hw._sensorMulti++, SensorType.Factor, _hw, _hw.settings);
                _power      = new Sensor("Core #" + CoreId.ToString() + " (SMU)", _hw._sensorPower++, SensorType.Power, _hw, _hw.settings);
                _vcore      = new Sensor("Core #" + CoreId.ToString() + " VID", _hw._sensorVoltage++, SensorType.Voltage, _hw, _hw.settings);

                _hw.ActivateSensor(_clock);
                _hw.ActivateSensor(_multiplier);
                _hw.ActivateSensor(_power);
                _hw.ActivateSensor(_vcore);
            }
コード例 #2
0
ファイル: AMD17CPU.cs プロジェクト: ColourMans/Autom
            public Processor(Hardware hw)
            {
                this._hw = (AMD17CPU)hw;
                Nodes    = new List <NumaNode>();

                _packagePower        = new Sensor("Package Power", this._hw._sensorPower++, SensorType.Power, this._hw, this._hw.settings);
                _coreTemperatureTctl = new Sensor("Core (Tctl)", this._hw._sensorTemperatures++, SensorType.Temperature, this._hw, this._hw.settings);
                _coreTemperatureTdie = new Sensor("Core (Tdie)", this._hw._sensorTemperatures++, SensorType.Temperature, this._hw, this._hw.settings);
                _coreVoltage         = new Sensor("Core (SVI2)", this._hw._sensorVoltage++, SensorType.Voltage, this._hw, this._hw.settings);
                _socVoltage          = new Sensor("SoC (SVI2)", this._hw._sensorVoltage++, SensorType.Voltage, this._hw, this._hw.settings);

                _hw.ActivateSensor(_packagePower);
                _hw.ActivateSensor(_coreTemperatureTctl);
                _hw.ActivateSensor(_coreTemperatureTdie);
                _hw.ActivateSensor(_coreVoltage);
            }
コード例 #3
0
      public Core(int index, CPUID[] threads, AMD17CPU cpu, ISettings settings) 
      {
        this.cpu = cpu;
        this.threadAffinityMask = 1UL << threads[0].Thread;

        string coreString = cpu.CoreString(index);
        this.powerSensor =
          new Sensor(coreString, index + 2, SensorType.Power, cpu, settings);
        this.clockSensor = 
          new Sensor(coreString, index + 1, SensorType.Clock, cpu, settings);

        if (cpu.energyUnitMultiplier != 0) {
          if (Ring0.RdmsrTx(MSR_CORE_ENERGY_STAT, out uint energyConsumed, 
            out _, threadAffinityMask)) 
          {
            lastEnergyTime = DateTime.UtcNow;
            lastEnergyConsumed = energyConsumed;
            cpu.ActivateSensor(powerSensor);
          }
        }
      }
コード例 #4
0
ファイル: AMD17CPU.cs プロジェクト: ColourMans/Autom
 public NumaNode(Hardware hw, int id)
 {
     Cores  = new List <Core>();
     NodeId = id;
     _hw    = (AMD17CPU)hw;
 }