-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HiFive Premier P550 #65
Comments
Bringup notes: I just plugged everything into the SiFive-provided enclosure, plugging in the front panel header connectors to standard pin locations... but it seems like it may not use the standard pin locations? The power button does nothing, and I don't see anything on the power supply to indicate it is not active (there's no separate power switch). So I'll check the documentation and see if I'm missing something obvious! |
Apparently "SW2" needs to be switched towards the edge of the board, instead of towards the middle of the board. There's no particular "ON" indication so that was a little confusing, but now I have it booted and running Ubuntu 24.04 (it was pre-installed). Going to do a little exploration before jumping into any benchmarking. Note on the official case—the tiny PSU (not sure if it's Flex ATX?) has a fairly loud fan. It ramps down immediately after startup, but it has a bit of a whine to it that makes it less pleasant. Fine for under a desk or in another room but as a desktop unit its pretty noisy, even at idle. |
Ollama doesn't install, I get:
But it looks like I could possibly compile it separately: https://www.bit-brick.com/2024/10/02/在pi-one-上安装ollama/
Also, I filed an issue on the ollama project: ollama/ollama#8857 — we'll see where that goes! |
I was expecting to have to manually compile
I've updated my Installing Ansible on a RISC-V computer blog post with this note. Might not be required at least on Ubuntu anymore! That said, I'm going to let the HPL benchmark run overnight... taking quite a while :) |
Some Ethernet info for end1 (one of the two 1 Gbps ports);
|
Looking at some of the other features of this board:
|
Vulkan info ( Click to expand
OpenGL Info:
|
After upgrading to the latest versions of everything (I was avoiding that initially, as it has caused issues on RISC-V dev boards in the past...), GLMark2 actually runs now! Though most other 3D/Mesa utilities keep showing various failures. |
I get display output, but all the OpenGL/Vulkan stuff still uses the internal PowerVR GPU. |
SuperTuxKart also gives errors, as it is trying to use OpenGL:
|
Testing an RX 480 with a monstrosity of a riser... and a CPU 8-pin to PCIe 6-pin power adapter :D I'm using a 5cm Sintech PCI-E Express X16 Riser and a COMeap CPU to GPU 8 pin to dual 6+2 pin adapter cable. And the card is precariously balancing on the top of the open enclosure :) |
And booting with the AMD RX 480 GPU installed:
And lspci:
|
I got display output through the RX 480 as well, but can't get any of the tooling to use it instead of the Imagination PowerVR iGPU... probably just a noob to graphics drivers in Linux thing... Also, while booting, there is no display output through the AMD graphics card, just like on Arm—it seems to only start outputting any display after Linux is fully booted and the drivers are loaded in. Everything seems to give that same
Is it provided by
I'm trying to blacklist I've also started a SiFive forum topic: AMD GPU on P550 - Display works, OpenGL doesn’t |
Testing a Kioxia XG8 NVMe PCIe SSD in a x1 adapter (my only x4 adapter is installed somewhere, not sure where it ran off to lol):
Run my disk benchmark script:
Results:
IMPORTANT NOTE: This drive should give a lot better performance if I run it with x4, so please don't draw any conclusions from the above results until after I re-run with the full bandwidth available ;) |
Over in the SiFive forum post, I got a reply directing me to the Release 2025.02.00 notes. Now:
|
I ran:
Then shut down, plugged the Now:
SuperTuxKart is running with full acceleration too! Going to test some other things... |
GLMark2 on the RX 460:
I found an issue for box86 support on RISC-V on the box86 issues: Request: Support For RISC-V and PowerISA hardware. Going to see if I can get that working at all, would be fun :D See: |
The memory test results between the P550 and RK3588 show significantly lower performance than expected. Could you confirm the accuracy of these tests or provide additional context on the testing methodology? |
@smzahraee - See: https://github.com/geerlingguy/sbc-reviews/blob/master/benchmark/tasks/tinymembench.py I run tinymembench, and also sbc-bench.sh (from @tkaiser), and the memory bandwidth does seem to be hampered by the SoC in this case, even though it's LPDDR5 at I believe something like 6000 MT/s? It certainly jives with the rest of the benchmark results. It could be something firmware/OS updates could help with, but I think the memory controller on the P550 just isn't as high performance as we hoped judging from the RAM they use here. |
I wouldn't call this 'tight' but 'an indication that's something seriously wrong' ... most probably at the firmware layer. 1.4W difference between 'idle' and 'fully loaded with Linpack' would make this thing an efficiency monster which obviously it isn't and 'idle consumption' is in reality 'firmware going berserk' or something like that :) As for the memory results not only bandwidth suffers but also latency (starting already with the top rows), measured with @wtarreau's
Checking 272 results from various systems 251 have better timings than this board. Those systems being slower almost all being in a different league (original RPi, Allwinner A10 or D1, i.MX6, Kendryte K510) and of course the other Eswin EIC7700 submission from last summer. @geerlingguy are you in touch with SiFive guys? Would be an idea to ask them what they've to say about both memory timings (new firmware release lying around somewhere?) and 'idle' consumption :) |
Reminds me of the VisionFive 2 which initiall shocked me:
180ns for 1x64 bits, 293 ns for 2x64, 525 for 4x64 and 991 for 8x64 doesn't look good at all, it looks like the memory controller cannot queue requests. But at 6.5 GB/s total RAM read bandwidth you don't expect much anyway. |
@ThomasKaiser - I've opened a forum topic: EIC7700X Memory Bandwidth / RAM Timings. |
I also reviewed the source code of |
Well, we're using a tool that is unmaintained for 8 full years by Siarhei (where you just opened an issue). Jeff uses this fork (most probably since supporting execution in macOS?) and my sbc-bench since exactly two years that for reasons I can't remember :( Maybe not the ideal tool any more... |
@geerlingguy EIC770X has limitation to use iGPU (internal GPU with Imagination core) or external PCIe GPU. Since the iGPU is part of SOC, we have no way to phyically remove it. Please follow the instuctions below to user iGPU or external GPU only. DO NOT mixed them up. sudo mv /usr/share/X11/xorg.conf.d/10-pvr.conf /usr/share/X11/xorg.conf.d/10-pvr.conf.hidden Steps to switch from Rx550 to iGPU |
For the fan speed control, I can change it with:
(Change the PWM1 value to something between 0-100...) I've settled on |
@zyz1dmail - Thanks! I indeed found that to be the case in #65 (comment) It'd be nice if both can be active—I noticed when I had switched to the AMD GPU, I had rebooted for testing with the internal HDMI port, and just got a blinking cursor on that screen, oops! |
Trying out Steam, I get an
|
While we're working on it, Steam does not work on RISC-V yet, unfortunately :( |
To enable box32 mode, use |
@ksco - Excellent, good to hear! In terms of something I could demo for a video, do you have any guide for games or downloads I could get onto here? I usually just use Steam since that makes it easy :D @ThomasKaiser FYI ESWIN has responded about the memory — there are a few factors that limit their performance: https://forums.sifive.com/t/eic7700x-memory-bandwidth-ram-timings/7002/2?u=geerlingguy |
Sure, if you're not in a hurry, I can give you a list of games we've tested on the P550 tomorrow. |
@ksco That'd be great! I can wait, still have some other things I'm testing as well. |
[Edit: I've opened an issue on box64 where it may be more appropriate to discuss this particular problem! See Help getting The Witcher 3 running on RISC-V.] I bought The Witcher 3 from Gog.com and downloaded all 16 parts... but when I try running the setup.exe, I get:
The Box64 test is working at least:
|
This is suggesting that you didn’t enable DynaRec (the JIT engine of Box64) in current build, you can do it via ccmake .., and enable the RV64 and RV64_DYNAREC, then recompile and reinstall box64. Secondly, to run Windows exes, you need to setup wine. You can download wine from here: https://github.com/Kron4ek/Wine-Builds/releases, the wow64 ones are recommended. |
@ksco - Ah thanks. These are things I never have done manually, so didn't explore all the fun complexity behind the scenes with Pi-Apps and other scripts I've used. |
I wonder, if Premier P550 can be overclocked to 1.8 Ghz (or maybe even beyond that)? Some other boards on the same chip (Milk-V Megrez) can run at 1.8 GHz, but that would require at least modifying device tree, copying some definitions from milk-v: Or even compiling kernel from rockos. I have megrez and there switching to 1.8 GHz gives a nice 15-25% boost in performance, compared to 1.4 GHz and increases power consumption only by 2W (my board consumes slightly less than yours, I had ~10W measured from socket in stock configuration and 12W at 1.8 GHz) P.S. Source code of the kernel that ubuntu uses: https://github.com/sifive/riscv-linux/commits/dev/kernel/hifive-premier-p550/ |
The iGPU driver appears to not support Wayland. I can get weston to operate, but gnome-shell or SDDM in Wayland mode change the gamma (I think, the screen brightens) and have a working cursor over top the VT you attempt spawning from, however the environment never starts. Also, using the zink rendering on blender is insufficient to run blender (4.0.2, the version that is with Ubuntu Noble (24.04.2)), it will eventually crash out, but it gives an unpleasant blank gray window while attempting to work. The driver also gives a warning "WARNING: Some incorrect rendering might occur because the selected Vulkan device (PowerVR A-Series AXM-8-256) doesn't support base Zink requirements: feats.features.fillModeNonSolid". |
Also, OpenCL works (on the iGPU), at least from clinfo and clpeak, at version 3.0. Kernel modules are not there for nouveau or for xe, so, without a more generic kernel (and newer in the case of xe), it looks like embedded or amdgpu. I really appreciate the the board has HDMI support and will show its u-boot and allow interruptions to get into the u-boot without having an external serial connection and using that from another computer. |
Running llama3.2:3b on RX 480 4GB
llama3.2:3b on RX 580 8GB
See full benchmarking issue: geerlingguy/ollama-benchmark#20 — I have |
I also tried an RX 6700 XT, but it seems that card is too new, there's a kernel oops when I try booting with the card installed:
|
I tried launching World of Goo, but I got:
And I was dumped back to the command line :( Edit: Nevermind... on 2nd try, it launched. |
You can also try the Linux version, which generally performs better than Windows ones. |
@ksco - oh, didn't even realize there was a Linux download available! |
Just wanted to note—in addition to a Debian image from ESWIN (which seems to be the bleeding edge where they're doing the most enablement work), there's a Fedora image for it as well. See: (Thanks to @NeilHanlon for pointing this out!) |
|
@RevySR - Interesting, have you successfully tested a newer AMD card on here? Also, is RockOS the name for the official Debian flavored Linux build for the ESWIN? I hadn't heard of it before your comment, and had associated it with the 'Rock' branding from Radxa until I read up on it more... |
Check that AMD Radeon 7900XTX + Milk-V Megrez Video. I guess you've seen that already. We're currently building up the website for docs and stuff.
Yes.
No, RockOS is not affiliated with Radxa and has nothing to do with their products. I guess you mean Radxa's ROCK series (all caps). |
ESWIN has released some patches for the P550 to run at 1.8 GHz. https://github.com/sifive/riscv-linux/tree/dev/clk-1.8 Here's the .deb files for the new kernel. https://www.w6rz.net/linux-image-6.6.21_6.6.21-g6e64cce95cec-2_riscv64.deb https://www.w6rz.net/linux-headers-6.6.21_6.6.21-g6e64cce95cec-2_riscv64.deb Just use Reboot and select the new kernel in grub with "Advanced options for Ubuntu". There's a new device tree, so the fan control moves from |
@drmpeg - Thanks for the updates! I'll have to try firing this up again soon... |
Basic information
Linux/system information
Benchmark results
CPU
Power
stress-ng --matrix 0
): 13.5 W (8.5 W using 12V DC adapter)top500
HPL benchmark: 13.9 W (8.9 W using 12V DC adapter)Power was measured at the wall using a ThirdReality Smart Outlet, running into the included Flex ATX PSU, unless otherwise noted.
Disk
Built-in eMMC Storage (128 GB)
Kioxia XG8 (2TB - in PCIe to x4 M.2 NVMe adapter)
Network
iperf3
results:iperf3 -c $SERVER_IP
: 942 Mbpsiperf3 -c $SERVER_IP --reverse
: 701 Mbpsiperf3 -c $SERVER_IP --bidir
: 939 Mbps up, 235 Mbps down(Be sure to test all interfaces, noting any that are non-functional.)
GPU
glmark2
glmark2-es2
/glmark2-es2-wayland
results:GravityMark
GravityMark results: DNF (no RISC-V version available)
Note: These benchmarks require an active display on the device. Not all devices may be able to run
glmark2-es2
, so in that case, make a note and move on!Ollama
ollama
LLM model inference results:Memory
tinymembench
results:Click to expand memory benchmark result
sbc-bench
resultsRun sbc-bench and paste a link to the results here: https://0x0.st/8PA8.bin
Phoronix Test Suite
Results from pi-general-benchmark.sh:
The text was updated successfully, but these errors were encountered: