magic-blue-smoke / Dual-Edge-TPU-Adapter

Dual Edge TPU Adapter to use it on a system with single PCIe port on m.2 A/B/E/M slot
309 stars 4 forks source link
coral coral-tpu edge-ai edge-tpu edgetpu home-assistant m2 m2-module pcie-card pcie-interface tensorflow-lite tpu tpu-acceleration tpu-benchmarks

Dual Edge TPU Adapter

Dual Edge TPU Adapter to use it on a system with single PCIe port on m.2 A/B/E/M slot or desktop PCIe

Adapter types

Low profile PCIe x4 for two Dual Edge TPU cards

In development

Store updates on GitHub issues

Follow on Twitter

Waiting list

Adapter

Low profile PCIe x1 version

For Dual Edge TPU to be used in desktop PCIe x1 slot

Order online

Store updates on GitHub issues

Follow on Twitter

Waiting list

Adapter

m.2 BM version

For Dual Edge TPU to be used in m.2 B- or M-key slot

Order online

Store updates on GitHub issues

Follow on Twitter

Waiting list

m.2 B+M 2280:

m.2 B+M key 2280 Coral Dual Edge Adapter

m.2 AE version

For Dual Edge TPU to be used in m.2 A- or E-key slot

Adapter

Why would I need an adapter for Coral Dual Edge TPU?

Coral Dual Edge TPU is one card with two identical TPU cores. Each core has it's own PCIe interface and motherboard shall have two PCIe busses on m.2 slot to make them both work.

E-key slot implemented to full m.2 electomechanical specification has two PCIe busses. Most motherboard manufacturers implement only one PCIe bus in m.2 E-key connector (this is why only one TPU is working). Some SBCs can have only USB bus on m.2 connector, ie none of TPUs will work.

Important: it's all about number of PCIe busses, not number of PCIe lanes. Only A- and E- key m.2 slots implemented to a full specification have two busses.

One PCIe bus on m.2 E-key connector is not end of the World. With PCIe switch bus can be split in two busses at cost of slightly increased latency and shared bandwidth.

Below are Q&As:

I see only one TPU when using card in m.2 E-key slot

Seems your motherboard manufacturer routed only one PCIe bus to E-key connector. Another option is that PCIe bus is multiplexed between regular PCIe slot and m.2. Check instructions manual or contact motherboard manufacturer to see if something can be done.

To make both cores working you can:

I have only m.2 B/M slot for SSD, is there some kind of adapter for Coral Dual Edge TPU card?

First, make sure your m.2 slot has PCIe bus, because m.2 B and M slots can support NVMe, SATA or both interfaces. You'd need slot to support NVMe or both, NVMe and SATA interfaces. With latter, motherboard automatically detects type of m.2 card and muliplexes PCIe or SATA accordigly to configuration pins on m.2 card. With passive adapter you'll see only one TPU core. I've successfully prototyped active adapter that makes both cores work. Please express your interest here: https://mbs-shop.online/waitinglist

I'd like to use Coral Dual Edge TPU with desktop PCIe x1 slot

There are m.2 E-key to desktop PCIe adapters, but those passively pass one PCIe interface to the card, ie only one TPU core will work. To make both cores work I've developed and manufactured adapters. First production run is sold out, you can apply for a waiting list here: https://mbs-shop.online/waitinglist

Placeholder for non-dual TPU issues and non-compatibility