Installing Google Coral Mini PCI-E EdgeTPUs to UnRAID, for localized-AI, TensorFlow Lite.
The on-board Edge TPU coprocessor is capable of performing 4 trillion operations (tera-operations) per second (TOPS), using 0.5 watts for each TOPS (2 TOPS per watt).
I've been trying to hunt these from all around for a while, mostly for the USB version but basically any version I could get my hands on, but they are always out of stock .. everywhere.
A few weeks back, I accidentally found the Google Coral Mini PCI-E version in stock from Buyzero.de, with a price of about 29 euros, and immediately ordered two. While writing this post they seem to still have the stock, but the price has gone up to 45 euros.
Mini PCI-E Adapter
The problem I faced, was I didn't realize that MINI in front of the PCI-E is an actual thing, and I had nothing to plug these in, them also being Half-size Mini PCIe. So I had to order Mini PCI-E to PCI-E adapters (Ableconn PEX-MP117 Mini PCI-E to PCI-E Adapter Card) from Amazon.com
This is a PCIe x1 lane card with a mPCIe (Mini PCIe) socket that supports PCIe & USB 2.0 signal interface from main board to mPCIe socket. Supports both PCIe based mPCIe Cards and USB2.0 based mPCIe Cards, and also supports both mPCIe Full-Mini Card and Half-Mini cards. No driver installation is required.
Next you need to install the Coral PCIe driver and the Edge TPU runtime. I am doing this on UnRAID, which if you are using other platforms, check the Coral Getting Started Guide.
I was a bit afraid that these would be a mess to install and configure, but it was actually super easy in UnRAID.
- Add the Coral into the adapter and screw it in place and install it into a free PCI-E slot(s).
2. In UnRAID, search for "coral accelerator module drivers" and install them. It goes under the Plugins. Just in case I disabled and re-enabled the UnRAID docker service.
3. To confirm, go to Plugins and click the coral accelerator module drivers, under that, you should see something like this. Both my modules are "ALIVE".
Now you can configure them to be used in applications or docker containers.