Have a Question?
Google Coral AI TPU – Hardware Compatibility
Google Coral provides a local option for running small AI models against local storage and compute. This allows a user to directly maintain control of their data while using AI training for detection of patterns.
More information is available from the Coral website: https://coral.ai/about-coral/
Use Cases
Coral AI chips can be used for a number of applications, including but not limited to:
- Frigate / Frigate+ – Network Video Recorder (NVR) using Coral for object detection
- codeproject.ai – Offboard local AI cloud for object detection, voice processing and other use cases
- coral.ai examples – Additional examples from Google on speech recognition, motion analysis and more
- Viseron – Linux NVR written in Python
Compatibility Chart
The following TPU modules have been tested to be visible on the PCIe bus in the following systems. Complete Thermal testing and fitness for specific purpose is left up to the user.
Protectli Model/Platform | USB Accelerator | Mini PCIe Accelerator | M.2-2230-A-E-S3 (A+E key) G650-04527-01 | M.2-2230-D3-E (Dual Edge M.2) G650-06076-01 | M.2-2280-B-M-S3 (B+M key) G650-04686-01 |
FW2B | r | V | x | x | x |
FW4B | r | N (no PCIe) | x | x | x |
FW4C | r | N (no PCIe) | x | x | x |
VP2410 | r | x | * (untested) | N | |
VP2420 | r | x | V | * (untested) | |
VP32xx | r | x | V | * (untested) | V |
VP46xx | r | x | * (untested) | ||
VP66xx | r | x | V | * (untested) | V |
V1210 | r | x | V | * (untested) | V |
V1410 | r | x | V | * (untested) | V |
V1610 | r | x | V | * (untested) | V |
V – Verified with unit to perform initial test using Debian Linux example code
N – Not Compatible Electrically
x – Not Compatible Port
* – Reduced capacity available (only 1 of 2 PCIe 1x lanes available)
Blank items are un-tested and un-reviewed (Contact Support for verification)
These tests were done using the M.2 Wifi module slot or the M.2 2280 slots. Use of the WWAN/LTE slot is not supported on any platform.
Thermal Considerations
When using TPU modules, with a stacked configuration, (most models other than VP46xx) please keep in mind the heating effect of the NVME drive above, and the TPU below. Try to ensure that you are using an industrial rated temperature NVME or SATA drive. Consider using a 2.5" drive instead for high intensity TPU workloads.
Always monitor the temperature of the TPU as well as that of the NVME to ensure ideal operating conditions are meet for maximum performance. More information can be seen on the Coral website Managing the PCIe Module Temperatures
Testing procedure
Using Debian 11 as the base OS, follow the getting started guide on the Coral website: https://coral.ai/docs/m2/get-started
All testing was performed at scientific standard temperatures and pressures (~25 degrees C, near sea level) using direct PCIe access from the host system. Please review your specific case when considering how to use the TPU with your system. PCIe Passthrough with virtualization was not tested.
OS Support
OS support is currently a bit patchy around the post 6.4 kernel range (Ubuntu 22.04 +) but there are indications that this is being resolved upstream at Google in the mid-near future.
Hardware Question?
For specific Hardware Support related questions not covered above, please contact our support team. We're happy to hear about your project and try and point you in a direction.