-
-
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
GMKtec NucBox G3 Plus (N150) #64
Comments
Right out of the box, I ran into an issue—the included 12V 3A DC power adapter was dead: It would give between 0.14 and 0.24V, but the wall wart itself heated up a bit around the plug itself. So something inside was toast. So instead, I've plugged in the original power adapter that I got with my N100 GMKtec. I tried using another standard 2.5mm barrel jack, but it seems the center pin on the GMKtec is ever so slightly thicker than the standard 2.5mm jacks. |
I was having trouble getting GravityMark to run at all, and
So I tried following Intel's Guide for Installing Client GPU's on Ubuntu 24.04 LTS:
After a reboot... glxinfo still giving me llvmpipe :(
|
Well then, found this on the reddit r/miniPCs subreddit: GMKtec G3 Plus with Intel N150, no graphics driver on Ubuntu 24.04.1?
The solution in that thread was to update from the 6.8 kernel to 6.12.x... To select a newer kernel using a GUI:
Then open "Mainline Kernels", select the latest 6.12.x kernel and click "Install". Reboot, and then verify the running kernel with Now I'm getting full acceleration, with glmark2-es2 picking up |
Please note that the cooling system is insufficient. With the CPU being faster on paper than N100 (which is confirmed by certain benchmarks that do not access memory) the memory controller gets severly throttled when running multi-threaded stuff like 7-zip. Latency tested single-threaded is better than with an unthrottled N100 system, 7-zip single-threaded score also better but since the CPU gets too hot in multi-threaded benchmarks memory access gets thwarted:
(N100 scores from here) |
@ThomasKaiser - "But N100 (and N150) is better and faster and more efficient than Raspberry Pi in every way!" they say, heh. The fan does go to maximum any time I'm running benchmarks, though IIRC it is setting a thermal / voltage limit somewhere before thermal throttling, as the power spiked for a second or two (above 30W) then settled in at exactly 26.5W continuous for tests like LLMs (or very nearly the same). I can dig back into the BIOS to see if there was some other limit, I didn't spend too much time in there yet (maybe a Turbo setting or Power Limit?). |
There's two types of thermal throttling with Intel CPUs now (at least with Alder Lake-N and Twin Lake):
The thermal threshold for thwarting DRAM access is (much?) lower than for the CPU clockspeeds which is why benchmark testers usually don't notice. But IIRC it was around 65°C at least with 1st Alder Lake-N generation. But with all these dynamic limitations around (also various types of power tresholds) it's hard to tell at which 'event' what happens exactly. Given the high temperatures I would suspect there's something wrong with the fansink, e.g. no thermal paste / an air gap between CPU and cooler. |
I'll pop it and see, judging by the faulty PSU I imagine QC on the cheapest of mini PCs might not be as high as one would hope. |
After Re-pasteRunning s-tui with sudo so I can see power consumption, it seems to nail 10.0W and 2800 MHz almost continuously (as before), but the fan didn't ramping up and down quite as frequently. The SoC settled around 71°C, which is 4° cooler than before: ![]() Running my top500 benchmark, which does hit the memory at the same time as the CPU, the temperatures crept up to 75°C or so, and core freqs still dropped to 2300-2400 MHz (with the same 10.0 W package power): ![]() The HPL result was 54.621 Gflops at 23.1W for 2.36 Gflops/W — a marked improvement. Running ![]() So it seems @ThomasKaiser your conclusion was correct, the cooling was janky from the factory. Makes you wonder if the boxes were sitting baking in the sun on a dock somewhere, or if the thermal compound in use is just not that great? The paste was definitely applied correctly, and there was no air gap that I could tell between the heatsink assembly and the SoC. I'll also re-run sbc-bench on here as well, so you can take a look at all the fine details. |
Factory: https://0x0.st/88vb.bin |
Well now... after running through all my benchmarks multiple times, I'm getting results nearer to my original runs. And the system idle temp is a bit higher, around 55°C now. I wonder if you leave this system running long enough, if the heat kind of spreads on the main PCB (affecting the RAM, since it's soldered on), and the fan can't adequately keep the entire enclosure cooled. I should note the top side of the board has no cooling to speak of, it's just a tiny oven up there. The fan intake is on the bottom, and it exhausts directly out through the heatsink fins connected to the heat pipe, there's not a lot of opportunity for any other airflow inside the box. I may run it completely bare, or at least with the top off and a fan blowing some air over the board, just to see if it idles at a more reasonable temperature. |
Thank you though numbers haven't changed much which is no wonder given that already idle temperature is nuts (and just a few degrees away from the memory controller starting to throttle). Ripping the top cover off and simply watching idle temperature ( |
I re-ran the entire benchmark suite a couple more times, and performance is consistently lower now. This is with the system running (with 30+ minute idle periods between benches), and idle SoC temp is 46-50°C. I will pop the top now and re-run everything with a fan blowing over the entire board, to see if it helps. |
After a couple minutes with the top open and my giant fan blowing into the top, the idle temp is now down to 35-37°C. Going to re-run everything now, starting with sbc-bench. |
@ThomasKaiser With adequate cooling: https://0x0.st/8Kyt.bin |
A little bit better. Maybe now some power limit kicks in? When looking at the 1st of the three 7-zip runs the very first try with smallest dictionary size is OK but then performance drops a lot, especially compression which is more memory-bound than decompression:
The two subsequent runs performance stays on this low(er) level. In contrast the aforementioned N100 run:
|
@ThomasKaiser - Yeah, I do wonder if the memory |
Gah... apparently at some point I reset the BIOS, because the 'Power Limit Select' was set to 'Balanced' instead of 'High Performance'. It seems like the power limit is still 10W, and frequency still caps at 2.9 GHz on all cores running stress through Re-running sbc-bench again with 'High Performance' selected and the fan directly on top of the chassis so it will hopefully force more air around the edges of the board down into the underside area. |
Another run with 'High Performance' mode: https://0x0.st/8Kwt.bin
|
This should be now the 'real numbers'. 7-zip scores are much better and consistent though still lower than the N100 setup I referenced here multiple times. But turns out... the box you're currently testing uses a single DDR4 SO-DIMM with 3200MT/s vs. LPDDR5 at 4800 MT/s. That should eventually explain why this setup with the slightly faster N150 CPU is outperformed by the older Alder Lake-N N100 machine since the latter while showing worse latency when measured single-threaded allows faster access to DRAM when running fully multi-threaded. So it's safe to say you tested a real SBC (seriously bad computer ;) ) |
@ThomasKaiser - Noted. And I just ordered a 16GB Corsair DDR5 4800 MHz stick to re-test with it, should be here tomorrow. |
Oh well, I would've ordered one as well since being trapped in Apple's walled garden and the SBC world I may have not touched a [SO-]DIMM within the last decade :) Edit: must've been 14 years. I just rembered that I replaced a HDD with an SSD in a MacBookPro8,2 (Late 2011) and back then there were SO-DIMMs, the next MacBook I bought ten years ago came already with DDR3L. |
Basic information
Linux/system information
Benchmark results
CPU
Power
stress-ng --matrix 0
): 25 Wtop500
HPL benchmark: 28.5 WDisk
TeamGroup TM8FP4001T Gen 3x4 2280 NVMe SSD
Note: This is testing with an SSD I placed in the system, as I'm preserving the original SSD, an AirDisk APF10-512G PCIe 3.0x4 M.2 2280 SSD, with it's original Windows 11 install.
Network
iperf3
results:2.5 Gbps Ethernet (Intel I226-V)
iperf3 -c $SERVER_IP
: 2.35 Gbpsiperf3 -c $SERVER_IP --reverse
: 1.40 Gbpsiperf3 -c $SERVER_IP --bidir
: 2.35 Gbps up, 577 Mbps downWiFi 6E (Realtek RTL8852BE)
iperf3 -c $SERVER_IP
: 883 Mbpsiperf3 -c $SERVER_IP --reverse
: 320 Mbpsiperf3 -c $SERVER_IP --bidir
: 779 Mbps up, 71 Mbps down(Be sure to test all interfaces, noting any that are non-functional.)
GPU
glmark2
glmark2-es2
results:GravityMark
GravityMark results: https://gravitymark.tellusim.com/report/?id=577dbdbb0e62d5b49e4976b475737c40c8dd3226
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:'Balanced' power mode
'High Performance' power mode
Memory
tinymembench
results:Click to expand memory benchmark result
sbc-bench
resultsRun sbc-bench and paste a link to the results here:
Phoronix Test Suite
Results from pi-general-benchmark.sh:
The text was updated successfully, but these errors were encountered: