# Testing Unmatched at 1.4 GHz

**URL:** <https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863>\
**Category:** HiFive Unmatched\
**Created:** [June 24, 2021, 12:23am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863 "2021-06-24T00:23:14Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![drmpeg](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/drmpeg/32/1301_2.png) [@drmpeg](https://forums.sifive.com/u/drmpeg)\
**Post date:** [June 24, 2021, 12:23am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/1 "2021-06-24T00:23:14Z")

</div>

I’ve bumped the CPU clock rate on my Unmatched to 1.4 GHz. It seems fine so far. As a test, I built the clang 12.0.0 compiler, which takes 13.5 hours at 1.4 GHz (with clang-tools-extra, libcxx and libcxxabi).

Unfortunately, the build doesn’t work. I get this error, which is usually taken care of on x86 by installing gcc-multilib. But there is no gcc-multilib on Ubuntu riscv64. This also prevents building gcc.

```nohighlight
ubuntu@riscv64:~/xfer$ clang -O2 xport.c
In file included from xport.c:5:
/usr/include/stdio.h:27:10: fatal error: 'bits/libc-header-start.h' file not found
#include <bits/libc-header-start.h>
         ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ubuntu@riscv64:~/xfer$

```

If anyone knows what’s going on with that, please chime in. Also, if anyone has some good stress tests to run, I’ll be happy to give them a try. I’ve tried stress-ng, but I’m not sure what’s the best test.

And just for fun, here’s a video of the Unmatched running GNU Radio. This flow is a DVB-S2 transmitter sending digital television over the air with a transmit capable SDR (connected with USB 3.0). Sorry, no YouTube (or Google) account.

[https://www.w6rz.net/unmatched.mp4](https://www.w6rz.net/unmatched.mp4)

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 24, 2021, 2:14am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/2 "2021-06-24T02:14:27Z")

</div>

Not a stress test, but just to add an (easily predicted) data point, could you run [https://hoult.org/primes.txt](https://hoult.org/primes.txt) ?

Just with gcc -O1, please.

---

<div class="post-metadata">

**Author:** ![drmpeg](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/drmpeg/32/1301_2.png) [@drmpeg](https://forums.sifive.com/u/drmpeg)\
**Post date:** [June 24, 2021, 2:34am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/3 "2021-06-24T02:34:33Z")

</div>

```nohighlight
ubuntu@riscv64:~/xfer$ ./primes
Starting run
3713160 primes found in 19054 ms
236 bytes of code in countPrimes()
ubuntu@riscv64:~/xfer$

```

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 24, 2021, 2:56am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/4 "2021-06-24T02:56:16Z")

</div>

Cheers. I’ve updated the file with the result.

---

<div class="post-metadata">

**Author:** ![enthusi](https://avatars.discourse-cdn.com/v4/letter/e/48db29/32.png) [@enthusi](https://forums.sifive.com/u/enthusi)\
**Post date:** [June 24, 2021, 8:54am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/5 "2021-06-24T08:54:29Z")

</div>

root@unmatched:~/bench# ./primes  
Starting run  
3713160 primes found in 21953 ms  
236 bytes of code in countPrimes()

for plain FreedomUSDK 2021.05.00 at 1.2 GHz.

> > > 21953/19054.  
> > > 1.152  
> > > 1.4/1.2  
> > > 1.167

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 24, 2021, 9:35am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/6 "2021-06-24T09:35:44Z")

</div>

Almost a percent discrepancy. You get about that much variation just running it multiple times.

Beats Odroid C2 (A53) at higher MHz by a little bit, which is good. And Pi 3 by a lot.

---

<div class="post-metadata">

**Author:** ![jimw](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@jimw](https://forums.sifive.com/u/jimw)\
**Post date:** [June 24, 2021, 5:39pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/7 "2021-06-24T17:39:26Z")

</div>

Are you building GCC from the Ubuntu source package or from the upstream FSF GCC sources?

I’m not running Ubuntu on my unmatched, but in general, building GCC on an ubuntu system requires --enable-multiarch because debian/ubuntu puts header files and libraries in different places than other linux distros. So the bits/libc-header-start.h is not in /usr/include but rather in /usr/include/riscv64-something and gcc will only search that dir if you use --enable-multiarch and specify a --build/host/target that matches the OS dir name. There is an additional problem that --enable-multiarch may not work for RISC-V without Ubuntu patches that haven’t been posted upstream yet. I haven’t checked recently. There are hacks to allow x86 linux gcc builds to work without the --enable-multiarch, but not for RISC-V and other ISAs. So for the moment, I think it is expected that FSF GCC sources won’t build, but the Ubuntu gcc source package will, as it has patches to make the build work the Debian/Ubuntu way.

I don’t know about clang, but it may be a similar issue.

You can probably get a better answer if you ask the debian/ubuntu folks instead of SiFive.

---

<div class="post-metadata">

**Author:** ![andre](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/andre/32/912_2.png) [@andre](https://forums.sifive.com/u/andre)\
**Post date:** [June 24, 2021, 11:55pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/8 "2021-06-24T23:55:46Z")

</div>

thats fantastic

may i ask btw, which graphics card you are using?  
the ui acceleration looks very good.

---

<div class="post-metadata">

**Author:** ![drmpeg](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/drmpeg/32/1301_2.png) [@drmpeg](https://forums.sifive.com/u/drmpeg)\
**Post date:** [June 25, 2021, 12:21am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/9 "2021-06-25T00:21:30Z")

</div>

No graphics card at all. That’s just an x86 host using ssh with X11 forwarding to access the Unmatched. In fact, there’s three hosts being used. The Unmatched (in the lower right hand terminal - ubuntu@riscv64) connected to a transmit capable SDR and antenna, another x86 host in another room in my house with a DVB-S2 receiver and antenna (lower left hand terminals - re@beavis) and the controlling host (upper right hand terminal running ffmpeg and recording the display and audio - re@w6rz). The remote x86 host is sending the received Transport Stream over UDP back to the control host which is playing it with VLC.

---

<div class="post-metadata">

**Author:** ![andre](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/andre/32/912_2.png) [@andre](https://forums.sifive.com/u/andre)\
**Post date:** [June 25, 2021, 11:04pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/10 "2021-06-25T23:04:27Z")

</div>

i see, thanks for clarifying!

---

<div class="post-metadata">

**Author:** ![drmpeg](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/drmpeg/32/1301_2.png) [@drmpeg](https://forums.sifive.com/u/drmpeg)\
**Post date:** [June 27, 2021, 10:24pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/11 "2021-06-27T22:24:50Z")

</div>

Testing at 1.5 GHz now. For @bruce

```nohighlight
ubuntu@riscv64:~/xfer$ ./primes
Starting run
3713160 primes found in 17712 ms
236 bytes of code in countPrimes()
ubuntu@riscv64:~/xfer$

```

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 27, 2021, 10:40pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/12 "2021-06-27T22:40:01Z")

</div>

Nice.

That’s getting to be closer to the kind of speed we’d all been expecting, given that most FU540 chips run fine at 1.4 or 1.5 GHz and the U74 was originally announced as 20% higher clock speed than U54 on the same process.

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 27, 2021, 10:47pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/13 "2021-06-27T22:47:05Z")

</div>

Would be great if you could upload just the uboot partition (is that the right one?) with versions with settings for 1.4 and 1.5 somewhere. And a short note of which partition to dd it over 🙂

---

<div class="post-metadata">

**Author:** ![jimw](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@jimw](https://forums.sifive.com/u/jimw)\
**Post date:** [June 27, 2021, 11:22pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/14 "2021-06-27T23:22:47Z")

</div>

I don’t think that we ever said that it would run at a 20% higher clock speed. We did say that the core would be ~20% faster at the same clock speed because of the dual issue pipeline.

---

<div class="post-metadata">

**Author:** ![drmpeg](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/drmpeg/32/1301_2.png) [@drmpeg](https://forums.sifive.com/u/drmpeg)\
**Post date:** [June 28, 2021, 12:26am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/15 "2021-06-28T00:26:47Z")

</div>

Here are the files. While I was at it, I went up to 1.8 GHz (but I’ve only tested to 1.5 GHz, so try those higher clock rates at your peril). I’ve also dimmed the blue LED to something a little less blinding.

[https://www.w6rz.net/u-boot-1200mhz.itb](https://www.w6rz.net/u-boot-1200mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1200mhz.bin](https://www.w6rz.net/u-boot-spl-1200mhz.bin)

[https://www.w6rz.net/u-boot-1400mhz.itb](https://www.w6rz.net/u-boot-1400mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1400mhz.bin](https://www.w6rz.net/u-boot-spl-1400mhz.bin)

[https://www.w6rz.net/u-boot-1500mhz.itb](https://www.w6rz.net/u-boot-1500mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1500mhz.bin](https://www.w6rz.net/u-boot-spl-1500mhz.bin)

UPDATE: From user feedback, it seems the Unmatched does not work above 1.5 GHz.

[https://www.w6rz.net/u-boot-1600mhz.itb](https://www.w6rz.net/u-boot-1600mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1600mhz.bin](https://www.w6rz.net/u-boot-spl-1600mhz.bin)

[https://www.w6rz.net/u-boot-1700mhz.itb](https://www.w6rz.net/u-boot-1700mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1700mhz.bin](https://www.w6rz.net/u-boot-spl-1700mhz.bin)

[https://www.w6rz.net/u-boot-1800mhz.itb](https://www.w6rz.net/u-boot-1800mhz.itb)  
[https://www.w6rz.net/u-boot-spl-1800mhz.bin](https://www.w6rz.net/u-boot-spl-1800mhz.bin)

```nohighlight
sudo dd if=u-boot-1500mhz.itb of=/dev/mmcblk0p14 bs=4k oflag=direct
sudo dd if=u-boot-spl-1500mhz.bin of=/dev/mmcblk0p13 bs=4k oflag=direct

```

I’m using these stress-ng tests. This one is supposed to raise the temperature as much as possible.

```nohighlight
stress-ng -v --matrix 0 -t 10m

```

This one is a memory test.

```nohighlight
stress-ng --vm 1 --vm-bytes 4G --verify -v -t 10m

```

The -t 10m parameter runs the test for 10 minutes. You can increase that or even use `-t 8h` for an eight hour overnight test.

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 28, 2021, 1:55am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/16 "2021-06-28T01:55:46Z")

</div>

Superb! Thanks.

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 28, 2021, 2:24am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/17 "2021-06-28T02:24:17Z")

</div>

> [@jimw](#):
>
> I don’t think that we ever said that it would run at a 20% higher clock speed. We did say that the core would be ~20% faster at the same clock speed because of the dual issue pip

It’s hard to find at this point.

The U84 announcement is interesting:

U84, the company’s mainstream U8-Series variant, is claimed to offer a 3.1x improvement in performance compared to the last-generation U74. Of that uplift, 2.3x comes from an increase in instructions per cycle (IPC); a further 1.4x comes from a higher maximum operating frequency of 2.6GHz. Going a few generations back, to the U54, the difference is even more stark: built on the same 27nm process, the U84 is an impressive 5.3x faster; moving to the 7nm process ups that to 7.2x.

The U84 to U74 comparison is in slightly different terms to the U84 to U54 comparison, but I think the implication is that the 3.1x for U84 to U74 is at iso-process, as the 5.3x for U84 to U54 explicitly is. So that makes U74 to U54 5.3/3.1 = 1.7x iso-process.

1.7x seems a little high for simply dual-issue (20% seems very low!), so it seems there must be a higher frequency component iso-process in that as well.

The longer pipeline in U74 vs U54 would also tend to suggest that.

But who knows? 🙂

> **[SiFive Announces U8-Series 2.6GHz High-Performance Out-of-Order RISC-V Core IP](https://www.hackster.io/news/sifive-announces-u8-series-2-6ghz-high-performance-out-of-order-risc-v-core-ip-96c6209ed7c4)**
>
> SiFive claims a 3.1x uplift over the last-generation U7-Series, while beating Arm's Cortex-A72 on power and area efficiency metrics.

---

<div class="post-metadata">

**Author:** ![jimw](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@jimw](https://forums.sifive.com/u/jimw)\
**Post date:** [June 28, 2021, 4:37am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/18 "2021-06-28T04:37:48Z")

</div>

In the Fall Linley Processor Conference talk about the Unmatched, Yunsup said it would be ~20% faster at the same clock speed than Unleashed. That is the only performance claim we made for the Unmatched that I am aware of.

This is a complicated subject. It is important not to confuse Core performance with SoC performance. SiFive isn’t a hardware company, and isn’t trying to make the best SoC. This SoC is a demonstration SoC for the Unmatched board and is not a commercial product. The primary goal was PCIe support not performance. The U7 core is an IP core that is improved quarterly, and the version of the core in the Unmatched SoC is actually older than the U7 core used for the U8 comparison you are referring to, and hence the core in the Unmatched SoC probably has less performance than the one used for that document.

The U7 core in the BeagleV Soc is a newer version of the U7 than the one in Unmatched. If they get the SoC right it should have better performance than the Unmatched.

---

<div class="post-metadata">

**Author:** ![bruce](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/bruce/32/452_2.png) [@bruce](https://forums.sifive.com/u/bruce)\
**Post date:** [June 28, 2021, 11:53am UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/19 "2021-06-28T11:53:23Z")

</div>

That would be nice. Especially if they manage to get an M.2 slot onto it (i.e. PCIe).

---

<div class="post-metadata">

**Author:** ![andre](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.sifive.com/andre/32/912_2.png) [@andre](https://forums.sifive.com/u/andre)\
**Post date:** [June 28, 2021, 12:26pm UTC](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863/20 "2021-06-28T12:26:28Z")

</div>

this looks fantastic!

i finally go ubuntu working and its a real pleasure, but i noticed that compared to open embedded sdcard image, on the one from canonical for unmatched, my case fan doesnt turn on anymore, so im a bit trepidating about boosting clockspeed…

do you know if using those uboot images activate the case fan pins? i wonder what settings need to be adjusted for that… or is that a linux kernel thing… hmm

[Next page](https://forums.sifive.com/t/testing-unmatched-at-1-4-ghz/4863.md?page=2)
