Vengineerの妄想

人生を妄想しています。

Google Tensor G2 の Edge TPU のデバイスドライバからわかったこと!(その3)

# はじめに

Google Tensor G2 の Edge TPU のデバイスドライバからわかったこと!(その3)

その1の後半で取り上げて、AOCデバイスドライバソースコードも眺めてみたら、もう少しわかったことがありました。

Google Tensor G2 の Edge TPU (janeiro) の下記のmailbox の部分にあった、EXT_DSP_MAILBOXES がありました。

#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)

AOCソースコード

AOCソースコードにも、Edge TPU 関連のコードがあることがわかりました。

aoc.c の下記の部分

 /* Map in BLK_TPU */
    /* if (iommu_map(domain, 0x9E600000, 0x1CE00000, SZ_2M,
             IOMMU_READ | IOMMU_WRITE))
       dev_err(dev, "mapping mailboxes failed\n"); */

GS101 (Google Tensor G1) の時は、この部分はないようです。

おわりに

GXP と比べて、AOC ではちょこっとしかありませんでした。