Hi,
I noticed the latest BIOS update apparently changed the DRAM frequency from 2750 to 3000 MHz (thus 6000 MT/s). I gave it a test and noticed that it didn’t change anything at all in my measurements. I found it strange that the MEM_CFG_MEMFREQ
variable appears nowhere in the whole project and subprojects, but maybe I’m missing something.
Since I remembered that my first attempt at rebuilding the BIOS gave me a BIOS for the Merak model instead of the O6, and that this image has a lot of settings available in the BIOS including the DRAM speed, I decided to give it a go again and perform measurements with rambw from ramspeed for each and every value. The results are stunning:
So the measured performance is perfectly linear from 1600 MT/s (16.5 GB/s) to 4266 MT/s (40.2 GB/s), then it reaches a plateau and all other values provide the exact same data rate. Earlier I was finding that 40.2 GB/s was a bit weak for 5500 MT/s since I’m used to seeing about 60% efficiency usually, though it was not dramatic either, especially for a product in beta-stage. But now I’m figuring that we’re indeed observing these 60% for all values till 4266, and all other ones have no effect, even the 5500 that’s shipped by default.
The SoC seems to claim supporting 6400 MT/s, and the DRAM chips are H58G56AK6BX069 which are 6400 MT/s ones. So normally if everything works well, we should get exactly 50% more DRAM performance.
I think someone from Radxa and/or CIX who has access to the setup code should have a look into this. Maybe a power saving register somewhere caps the DRAM controller frequency for example. Or maybe a DDR4 vs DDR5 setting is incorrect and prevents the controller from going beyond 4266. In any case it’s a bit sad to lose 33% DRAM performance on this board that promises to do great things with AI, and likely outperform quite a number of x86 PCs in this domain!