@All From the thread about profiler find out that sysmon report for me some bad numbers. So want to max out my one as well. There are original post from IAmSonic pointing out that if your x5000 have 1 single RAM module, you have pretty bad values for the memory copy. There is that post:
As can be seen, while Read32/64 didn't change much, Write32/64 almost doubles!
And the changes are real, and not just numbers. For example, in the quake3 benchmark, I had +10 fps in 1920x1080. For Hcraft game +10 fps. For Irrlicht Engine examples for some of them even +40 fps!
Through, the speed is not that good as it can be, the one results which come with Sysmon giving just that:
Don't know what kind of memory is used by the test coming with sysmon, but it looks a bit faster than my new one.
So, as this one point out that memory for sure change things for real, is there a way we can overclock a little memory on amigaos4? I know about problems and stuff and so on, just want to know if we have any way to do so ? Via uboot maybe, or via some tool ? I know that my memory (that corsar one) are very good for overclock, and a little bit overclocking will make no harm, so want to try .. Any ideas how ?
And another issue i found that i can't understand for now. I have too slow speed for the Video Bus "Read". I mean, before (few years ago) when i do test ragemem bench, i do have 54mb/s , that for sure. Today, i have just 23. I tried to put back my old RadeonHD, and it is still 30. Nowhere is a 54. I tried 3 other video cards HD and RX ones, all of them 50% slower in Read as they should be instead. I tried to rollback drivers/ etc, but so far found nothing which can make this difference. Any ideas? Maybe some uboot settings or so ?
have you tried with your old single memory stick...
I don't think the amiga have any way of tampering with CL etc. I don't know if you even have a way to turn off/on individual memory sticks in uboot (which almost any UEFI/bios has got) haven't seen anything like that anyway.
have you tried with your old single memory stick...
Do you mean issues with the video bus? Yeah, sure. I find that while I was on 1 old memory stick, and today with 2 new ones. It's like something changes on the hardware side, but what... I only add PCIe audio card last year, but plugging it off makes no difference too.
As can be seen, while Read32/64 didn't change much, Write32/64 almost doubles!
And the changes are real, and not just numbers. For example, in the quake3 benchmark, I had +10 fps in 1920x1080. For Hcraft game +10 fps. For Irrlicht Engine examples for some of them even +40 fps!
Welcome to the (X5000) Dual Channel Memory Experience
As my original posting on OS4Welt is already over 4 years old, i remember that not just fps in games rose, also Odyssey's rendering became quicker!
Quote:
And another issue i found that i can't understand for now. I have too slow speed for the Video Bus "Read". I mean, before (few years ago) when i do test ragemem bench, i do have 54mb/s , that for sure. Today, i have just 23. I tried to put back my old RadeonHD, and it is still 30. Nowhere is a 54. I tried 3 other video cards HD and RX ones, all of them 50% slower in Read as they should be instead. I tried to rollback drivers/ etc, but so far found nothing which can make this difference. Any ideas? Maybe some uboot settings or so ?
Maybe related to Radeon RX? Benchmarking with my Radeon RX 560 also just gives me 30 Mb/s. For the tests i've performed in the past (55 Mb/s) i was using a XFX Radeon R9 280X (Radeon HD). The only U-Boot setting i've ever touched is "amigabootmenu_animcycles".
@IamSONIC I still feel that not everything from the memory maxed out on my side.. See what i have in output from serial:
Quote:
DRAM: Initializing....using SPD Detected UDIMM CMZ8GX3M2A1600C9 Detected UDIMM CMZ8GX3M2A1600C9 Not enough bank(chip-select) for CS0+CS1 on controller 0, interleaving disabled! Not enough bank(chip-select) for CS0+CS1 on controller 1, interleaving disabled! 6 GiB left unmapped 8 GiB (DDR3, 64-bit, CL=9, ECC off) DDR Controller Interleaving Mode: cache line
While probably it should be at best not have those warnings?
Also, did you try anything except "cache line" as well? Were there any differences?
As for VideoBus read: i put now RadeonHD back, and it is still 23 for me... Maybe something was changed in drivers someday .. Or in other system components .. Do you have your RadeonHD by hands? (just to check if it issue we got both now, and need to find out from where it come)
@IamSONIC WHAT!? R9 280X is faster than RX560, it's roughly 151% faster. Sapphire TOXIC R9 280X OC is the fastest of the R9 280X so you might add a couple of % on the speed above
I would suggest anyone selling or buying graphics cards (well even new ones) to check https://www.techpowerup.com/ which has very comprehensive status/specs on cards/chips.
@tgrswe And I suggest being sure we are on the amiga :)) Does not matter what one is faster for real, matter how well it is supported by os4 drivers. And till now, RX ones only have public video decode acceleration. While for HD it did and soon to be released, it still, not in public for a year or how many.
@Sonic Yeah, check it plz, just we can be sure that it's not me.
@Skateman If you don't mind, can you plz post go to uboot menu and do "printenv" , and post their whole output (but via quote tags to the forum, so it will not be flooded up). And whole serial output in the second quite block too, if doesn't mind, of course :)
Thanks!
ps. Also, can you post the whole output of "ragemem" benchmark too?
@All Stateman send me all details by mail, and all looks the same, the difference is that he uses 2 x 8 GB DIMMs KHX1600C10D3/8G. Maybe it is worth trying them out too...
The R9 280X wasn't/isn't supported by Power Prefs. Therefore it generated a lot of heat combined with high electric power consumption, even on common Workbench/App usage. The Warp3D-SI driver (MiniGL compatibility) also did not unleashed the possible performance when using such a card. The Radeon RX 560 in combination with Power Prefs keeps my system cool and quiet.
The P5020 has two memory controllers. Both memory controllers each feature physical Chip Select lines CS0-CS3. So each controller offers the maximum amount of CS lines of a single DIMM slot.
I'm not sure what "CS0+CS1" is supposed to mean in the context of uboot. Physical or simply the number of chip selects in use. But the uboot documentation suggests that it likes to interleave controllers in cacheline mode and not chip selects.
But if uboot tries to "cacheline"interleave physical CS0 and CS1 of memory controller 1 than the issue is that kas1e's corsair memory is dual rank. Dual rank memory needs two chips selects. Interleaving them in cacheline mode will not work because they are on the same controller.
The memory from Skateman is single rank. If uboot means to interleave the first chip select in use (to DIMM slot 1) and the second chip select in use ( to DIMM slot 2). Then cacheline interleaving makes sense.
Edit: Found this document that explains that Qoriq DDR interleaving modes for the four featured interleaving modes (cacheline, page, bank and superbank) are indeed implemented between controllers and not between individual banks on the same rank like on PCs. Therefore, the wiki page linked in the os4welt post doesn't directly apply to the X5000. So if uboot sees CS0 and CS1 on the same memory controller than interleaving apparently fails. There is the option to interleave between banks on each controller seperately. But I doubt that this is implemented in our uboot.
This explains why the memory of skateman works with interleaving while kas1e can't use interleaving. And might be fixed in uboot by grouping CS0+CS2 and CS1+CS3 in case of dual rank memory. Alternatively, independant single controller bank (chip select) interleaving can be implemented
Edit2:
Some manufacturers show the rank configuration on the sticker on the dimm itself. 1Rx8 is single rank. 2Rx8 is dual rank. Alternatively you can search for the memory type number in combination with CPU-Z. If you are lucky than someone has posted a screenshot of the spd tab of the one that you intend to buy. Kingston has an overview and selector with amount of ranks on their site.
Cosrsair (Kas1e):
Kingston (Skateman):
Edited by geennaam on 2022/1/31 16:43:10 Edited by geennaam on 2022/1/31 16:44:05 Edited by geennaam on 2022/1/31 16:44:58 Edited by geennaam on 2022/1/31 17:46:22 Edited by geennaam on 2022/1/31 17:53:03 Edited by geennaam on 2022/1/31 17:58:44 Edited by geennaam on 2022/1/31 18:01:29 Edited by geennaam on 2022/1/31 18:04:29 Edited by geennaam on 2022/1/31 18:05:22 Edited by geennaam on 2022/1/31 18:12:26 Edited by geennaam on 2022/1/31 18:46:51 Edited by geennaam on 2022/2/1 8:15:43
So at least i can see that there we can set: cacheline (which we have by default), then we should be able to change it on "page", "bank" and "super-bank". And bank_intlv probably can be changed too, from cs0_cs1 to anything we need.
Do you think if I will try to change it on cs0_cs2 it may works?
I.e. in the first string, i tried to use "page", and in a second "cs0_cs3", and then doing setenv and hard reboot. And does not matter what i type there, on the boot i have in serial still the same values.
Just like uboot starts later than we have output about memory and stuff.
I've checked your hwconfig env with mine and I have the same values.
"ctlr_intlv" sets the memory controller interleaving mode. "bank_intlv" sets the chip-select interleaving mode within a single controller or DIMM.
According to page 9 and 14 of NXP AN3939. Both interleaving types can be activated at the same time.
The following uboot output shows that the chip-select interleaving mode is failing. But the controller interleaving mode is still set to cache-line.
DRAM: Initializing....using SPD
Detected UDIMM CML8GX3M2A1600C9
Detected UDIMM CML8GX3M2A1600C9
Not enough bank(chip-select) for CS0+CS1 on controller 0, interleaving disabled!
Not enough bank(chip-select) for CS0+CS1 on controller 1, interleaving disabled!
6 GiB left unmapped
8 GiB (DDR3, 64-bit, CL=9, ECC off)
DDR Controller Interleaving Mode: cache line
I've tried to set different controller interleaving modes, but uboot always sets it to cache-line (Is it restricted or hard coded?)
The funny part is that bank interleaving for Skateman using CS0+CS1 succeeds but should not be available because his single rank memory uses only one CS for each controller.
So either UBOOT is doing something fishy. Or the CPU-Z output is wrong and Skatemans DIMMS support dual rank afterall (I've found a dual rank "B1" version of Skateman's memory DIMMs). In that case, the problem, if there is a problem at all, is still a mystery.
The NXP application note mentions that interleaving performance depends on the application anyways.
@skateman
Can you post the ram performance output of ragemem. If your values are close to ours than the topic can be closed.