Rewind to October of 2020. The pandemic is in full effect. Droves of stuck-at-home individuals were ready to jump into World of Warcraft: Shadowlands, only to be eventually disappointed. Our q16 Processor was in the process of being manufactured at TSMC’s 16nm Fab 14. The Raspberry Pi Compute Module 4 was released. When I looked at the specs, one this stuck out immediately. The new Compute Module 4 supports PCIe Gen2. I knew that I had to pair the Raspberry Pi with the q16 Processor as soon as possible.
I’ve always been a fan of the Raspberry Pi Foundation and its products. I’ve had at least one of each version of the product since its initial release in 2012 when you had to import them directly from the UK. In fact, the 21 Bitcoin Computer was designed around the Raspberry Pi 2 B+. In a few short years, Raspberry Pi became a beloved household name for enthusiasts, hobbyists, hackers, and educators. Most people don’t realize that Raspberry Pi’s have also found a good deal of industrial penetration. I’ve seen estimates of up to 30% of all Raspberry Pi’s sold ending up in industrial applications. The Raspberry Pi Foundation’s recognition of this fact with the release of the “Compute Module” series of products in 2014 with the release of the Compute Module (1).
With the latest version, Raspberry Pi decided to change up the form factor from and SODIMM. The form factor change enabled support for more pins and higher-speed interfaces, such as PCI Express.
These Compute Modules contain a bare minimum supporting circuitry to support the Raspberry PI Chip’s essential functions, such as booting and external memory. They leave it up to the end-user to design Carrier Boards or tiny motherboards to suit individual requirements. This allows flexibility in which physical pins connect to various interfaces such as USB, ethernet, HDMI, etc. We found one such carrier board, Gumstix. This board breaks out the Compute Module 4 to a few USB ports, an Ethernet port, an HDMI port, and most importantly, an M-key M.2 slot. A perfect fit for the quadric Developer Kit. All the pieces were in place to get everything working together.
At the moment, our driver supports the majority of Linux-based operating systems. One of the big appeals of Raspberry Pi devices is that they run a very well-supported Debian-based operating system.
Here is our card detected and paired with the host limited, PCIe Gen2 x 1 interface. With the driver loaded, we can run some basic RESNET18 validation code against the ImageNet database.
Now that the Raspberry Pi CM4 and the quadric Dev Kit have been introduced, the possibilities are endless. Despite the degraded PCIe performance when paired with this platform, two things should be true:
- Good algorithm performance should still be possible despite limited PCIe bandwidth.
- The Raspberry Pi foundation should continue to add faster, wider PCIe interfaces to its products
Stay posted for more posts regarding the Raspberry Pi. Soon we would like to release some end-to-end demos with the official Raspberry Pi camera module and the official display module. Also, expect more articles exploring the different platforms that support the quadric Dev Kit over the next few weeks.