はじめに
下記のGoogle Tensor G2 内の Edge TPU のデバイスドライバのソースコードを眺めたので記録として残します。
Google Tensor G1 内の Edge TPU のデバイスドライバについては、下記のブログを見てください。
Google Tensor G2 の Edge TPU の codename は、janeiro
Google Tensor G1 の Edge TPU の codename は、abrolhos でしたが、Google Tensor G2 の Edge TPU の codename は、janeiro のようです。下記にソースコードがあります。
ざーと見て気が付いたのは、下記のmailbox の部分です。
#define EDGETPU_NUM_VII_MAILBOXES 7 #define EDGETPU_NUM_P2P_MAILBOXES 0 #define EDGETPU_NUM_EXT_DSP_MAILBOXES 4 #define EDGETPU_NUM_EXT_AOC_MAILBOXES 1 #define EDGETPU_NUM_EXT_MAILBOXES (EDGETPU_NUM_EXT_DSP_MAILBOXES + EDGETPU_NUM_EXT_AOC_MAILBOXES) #define EDGETPU_NUM_MAILBOXES (EDGETPU_NUM_VII_MAILBOXES + EDGETPU_NUM_EXT_MAILBOXES + 1)
abrolhos の場合は、下記のようになっています。
#define EDGETPU_NUM_MAILBOXES 8 #define EDGETPU_NUM_VII_MAILBOXES (EDGETPU_NUM_MAILBOXES - 1) #define EDGETPU_NUM_P2P_MAILBOXES 0 #define EDGETPU_NUM_EXT_MAILBOXES 0
janeiro では、
#define EDGETPU_NUM_EXT_DSP_MAILBOXES 4 #define EDGETPU_NUM_EXT_AOC_MAILBOXES 1
が増えています。
Google Tensor G2 では、DSP の文字が
下記の記事に Google Tensor G2 のざっくりなブロック図があるんですが、その中に DSP が載っています。
下記のGoogle Tensor G1の発表の時は、DSPという文字はありませんでした。
GXP というのがデバイスドライバ
DSP の codename は、Aurora (Amalthea) のようで、下記にソースコードがあります。
#define GXP_DRIVER_NAME "gxp_platform" #define GXP_NUM_CORES 4
とあります。DSPのコア数は、4個のようです。この 4 が
#define EDGETPU_NUM_EXT_DSP_MAILBOXES 4
の 4 になるのでしょうか?
AOCは?
もう一つの
#define EDGETPU_NUM_EXT_AOC_MAILBOXES 1
のソースコードもあります。WhiteChapel AoC とありますので、Google Tensor G1 からあるもののようです。
どうやら Audio 関係のようです。
おわりに
Google Edge TPU、Google Tensor G1 では、今までは MIPI => ISP からの画像処理だったけど、Google Tensor G2 では、加えて、DSP からとAudio入力のデータも処理できるみたいですね。。