はじめに
昨日のブログで Google Pixel 8 の SoC (G3) の EdgeTPU のデバイスドライバの Repo (rio) ができ、その後、ソースコードが公開されていた。
G3 の コード名は ZUMA ?
Google君の生成AIに聞いたら、下記のような回答を得られた
— Vengineer@ (@Vengineer) 2023年10月13日
- ZUMA は、Google Pixel 8 シリーズのSoCのコードネームです。。。
ZUMA の EdgeTPU
ZUMA(G3) の EdgeTPU のデバイスドライバは、ここにあります。
rio-platform.c の中に、次のような記述がありました。GS301 と ZUMA は同じもののようです。
static const struct of_device_id edgetpu_of_match[] = { { .compatible = "google,edgetpu-gs301", }, { .compatible = "google,edgetpu-zuma", }, { /* end of list */ }, };
EdgeTPU の動コア数
ここに EDGETPU_NUM_CORES が 2、EDGET_NUM_SSMTS が 2 とあります。つまり、コア数が2個。
#define DRIVER_NAME "rio" #define EDGETPU_NUM_CORES 2 #define EDGETPU_NUM_SSMTS 2 #define EDGETPU_MAX_STREAM_ID 64
EdgeTPU の動作周波数
- 226MHz
- 455MHz
- 627MHz
- 712MHz
- 845MHz
- 967MHz
- 1119MHz
- 1119MHz
の8段階です。
- 226MHz
- 455MHz
- 627MHz
- 836MHz
- 967MHz
- 1024MHz
の6段階です。
- 226MHz
- 455MHz
- 627MHz
- 712MHz
- 845MHz
- 967MHz
- 1066MHz
の7段階です。
最大周波数
- G1 : 1024MHz
- G2 : 1066MHz
- G3 : 1119MHz
dts
android-14.0.0_r0.8 の kernel の dts ファイルですが、何故か? gs101 (G1) と zuma (G3) だけで、G2のものがありません。
こちらには、G1 と G2 があります。違いは何なんでしょうかね。G1のファイル名は同じっぽいです。
zuma-tpu.dtsi には、下記にように ssmt (ssmt_d0/ssmt_d1)が 2つあります。また、cmu も追加されています。
edgetpu: rio@1A000000 { compatible = "google,edgetpu-zuma"; #dma-address-cells = <1>; #dma-size-cells = <1>; /* TPU uses regions under 0x18000000 for special purpose */ dma-window = <0x18000000 0xE7FFF000>; /* Window of IOVAs available to each client's page-table */ gcip-dma-window = <0x18000000 0xE7FFF000>; reg = <0x0 0x1A000000 0x300000 0x0 0x1A300000 0x10000 0x0 0x1A3E0000 0x10000 0x0 0x1A3F0000 0x10000>; reg-names = "tpu", "cmu", "ssmt_d0", "ssmt_d1";
G1 の tpu (ds101-tpu.dtsi) では、ssmt は1つだけです。
edgetpu: abrolhos@1CE00000 { compatible = "google,edgetpu-gs101"; #dma-address-cells = <1>; #dma-size-cells = <1>; /* TPU uses regions under 0x18000000 for special purpose */ dma-window = <0x18000000 0xE7FFF000>; reg = <0x0 0x1CE00000 0x200000 0x0 0x1CCF0000 0x10000>; reg-names = "tpu", "ssmt";
おわりに
下記の記事には、
機械学習に特化したTPUは、GoogleのAIモデルが効率的に動作するように設計され、Pixel 6に搭載された「Tensor G1」と比べて2倍以上の機械学習モデルを端末上で実行できる。Googleでは、これを短期間で飛躍的な改善であるとアピールしている。
とあります。
となると、G1 の EdgeTPU が2個、G3(ZUMA)に入っていることになるのでしょうか?