platform

quadric Meet pi

Raspberry Pi Compute Module 4 + quadric Dev Kit
Raspberry Pi Compute Module 4 + quadric Dev Kit

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

The Raspberry Pi Compute Module 3


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. 

Raspberry Pi Compute Module 4 (Now with PCIe!)


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. 

Raspberry Pi Compute Module 4 + quadric Developer Kit!


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. 

  
quadric@qnuc01:~/resnet18$ python3 create_dataset.py 

Top-5 match!
Image ILSVRC2012_val_00000244 - Label rifle
----------------------------------------------------------------
Top-5 match!
Image ILSVRC2012_val_00000402 - Label catamaran
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00000419 - Label envelope
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00000439 - Label bulbul
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00000515 - Label projectile
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00000531 - Label Greater_Swiss_Mountain_dog
----------------------------------------------------------------
....
....
....
Top-1 match!
Image ILSVRC2012_val_00008360 - Label amphibian
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00008389 - Label croquet_ball
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00008390 - Label notebook
----------------------------------------------------------------
Top-1 match!
Image ILSVRC2012_val_00008563 - Label can_opener
----------------------------------------------------------------

Top-1 matches: 537 Total-5 matches: 696 Total images: 794
Validation results: top-1 67.63% and top-5 87.66%
  


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:

  1. Good algorithm performance should still be possible despite limited PCIe bandwidth.
  2. 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.

Stay posted on all our new content
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.