Gábor Samu
Gábor Samu
Creator of this blog.
Jun 15, 2021 4 min read

Very risqué computing

thumbnail for this post

This spring, we’ve been blessed with fantastic and almost tropical weather here in Southern Ontario, Canada. Normally at this time, after a long winter the last thing on my mind are indoor activities. However on June 3rd, I was greeted one morning by an email about an incoming delivery. It turns out it was on of the items I’ve been waiting patiently for from Crowd Supply in the hopes of keeping me busy during what I thought would be a cold spring season.

Christmas in June

As I have multiple things from Crowd Supply on order (don’t ask!) I didn’t quite know which item was arriving. It turns out it was the long awaited SiFive HiFive Unmatched RISCV powered board. Those who know me (and I’ve said this many times) understand that I don’t like mainstream anything. And that also applies to computers. My interest in Arm based systems dates from the 1990’s with the venerable Acorn Archimedes computers. However, all of the news around the RISCV community has really piqued my interest. I passed on the SiFive Unleashed primarily because it didn’t have a PCIe slot - although this was remedied with an optional, but costly add-on board.

So when the SiFive Unmatched was announced with a competitive price and a bump to 16GB I jumped at the opportunity to purchase one. And it turned out to be a great decision.

The HiFive Unmatched is based on the SiFive Freedom U740 SOC with four U74 cores and one S7 core and features an all important PCIe slot. With 16GB of onboard RAM and a M.2 Key M for an SSD, my goal was to get the Unmatched setup as a desk top. For those looking to learn more about RISCV, I’d recommend starting with the RISCV International foundation site. As per the RISCV site, “RISC-V is a free and open ISA enabling a new era of processor innovation through open standard collaboration.” In simple terms, the ISA or instruction set architecture defines the set of instructions that are supported by the processor – so things like arithmetic, logic, and branch instructions to name a few. So it’s the way that programmers can issue commands to the processor to do “things”.

First impressions

I’ve become accustomed to developer boards being packaged in rather non-descript packaging. The first impression of the Unmatched board could not be further from this. The board was shipped in a lovely box and included an SD card with a bootable Freedom U SDK image and I/O shield and a USB cable. So the first impression for me was quite positive.

Bootstrapping

I mounted the Unmatched board to my Streacom BC1 benchmark table and installed a XFX Radeon 2GB Heatsink edition to the PCIe slot. It’s an old GPU, but fanless – which I always appreciate. Plus, I’m not looking to do any serious gaming on the system.

The first boot of the system from the SD card was a success (albeit a bit slow). I monitored the boot over the serial console (minicom) from another system. The Unmatched sprang to life and eventually booted up to a fully working XFCE desktop. This was actually a lot smoother than what I anticipated. Once I confirmed that everything was working as expected, I installed a Samsung 780 NVME SSD to the M.2 Key M slot and turned my focus to Ubuntu 21.04. The SiFive Forums have proven an invaluable resource to help me get Ubuntu up and runing on the system and to make sure the board was booting Ubuntu with a clock of 1.2 Ghz. Of course, I followed the steps to install Ubuntu to the NVME onboard, so I/O performance is much better now naturally.

Burning in

Does it run Linpack? Of course it does :) As with any new board I receive, running a High Performance Linpack benchmark is often one of the first things I do. It’s a well known bechmark which provides data for the Top500 ranking of supercomputers.

I used the current HPL v2.3 and compiled it using the Ubuntu supplied gcc, openmpi and math libraries. A few runs of HPL yielded a result of 2 GFlops (see screenshots below). Although I’ve not looked closely at what the theoretical peak of the U740 SOC is, the result is roughly what I expected given what I’ve been reading up on the board. Ultimately, I was pleased that HPL compiled and ran to completion and it was a great way to stress the board.

Stay tuned to this channel for more risqué computing escapades…