Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Tenstorrent Worm Holeの動作周波数

はじめに

TenstorrentのWohm Holeの動作周波数が分かったので記録として残します。

クロックは3種類

下記の Tenstorrent / TT-Metal の このIssue に Wohm Hole のクロックが載っていました。

Device Telemetry
  * Device 0:
    - Core Voltage (V)       : 0.72 / 0.95
    - AICLK (MHz)            : 500 / 1000
    - ARCCLK (MHz)           : 540
    - AXICLK (MHz)           : 900
    - Core Current (A)       : 10.0 / 160
    - Core Power (W)         : 6.0 /  85
    - Core Temp (°C)         : 43.2 / 75
    - VREG Temp (°C)         : 39.0
    - Inlet Temp (°C)        : 37.0
    - Outlet Temp 1 (°C)     : 36.0
    - Outlet Temp 2 (°C)     : 36.0

クロックは、3つ

  • AICLK (MHz) : 500 / 1000
  • ARCCLK (MHz) : 540
  • AXICLOCK : 900MHz

AICLK が Compute Tile の動作周波数ですね。

ARCCLK は、内部にあるCPU(ARC)の動作周波数ですね。Synopsys社の 4コア構成のARC HS48が載っています

AXICLKは、内部のAXIの動作周波数ですかね。このAXIって、どこの部分なんでしょうかね。

上記の情報は、tt-smi の出力です。tt-smi は github にて公開されています。

これらは、SMBUS_TELEMETRY_LIST に載っているので、SMBUSから獲得しているんですかね。

tt_sim//tt_sim_backend.py の get_chip_telemerty 関数で獲得しているようです。

    def get_chip_telemetry(self, board_num) -> Dict:
        """Get telemetry data for chip. None if ARC FW not running"""

        current = int(self.smbus_telem_info[board_num]["SMBUS_TX_TDC"], 16) & 0xFFFF
        voltage = int(self.smbus_telem_info[board_num]["SMBUS_TX_VCORE"], 16) / 1000
        power = int(self.smbus_telem_info[board_num]["SMBUS_TX_TDP"], 16) & 0xFFFF
        asic_temperature = (
            int(self.smbus_telem_info[board_num]["SMBUS_TX_ASIC_TEMPERATURE"], 16)
            & 0xFFFF
        ) / 16
        aiclk = int(self.smbus_telem_info[board_num]["SMBUS_TX_AICLK"], 16) & 0xFFFF

        chip_telemetry = {
            "voltage": f"{voltage:4.2f}",
            "current": f"{current:5.1f}",
            "power": f"{power:5.1f}",
            "aiclk": f"{aiclk:4.0f}",
            "asic_temperature": f"{asic_temperature:4.1f}",
        }

        return chip_telemetry

telemetry に関しては、luwen というソフトウェア経由で獲得するようです。

Grayskull では、ここ。Wohm Hole では、ここにありました。

おわりに

Wohm Holeの動作周波数は分かりましたが、Grayskull の動作周波数はどうなんでしょうかね。