[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] MorphOS benchmark results
From: |
BALATON Zoltan |
Subject: |
[Qemu-ppc] MorphOS benchmark results |
Date: |
Wed, 18 Jul 2018 15:53:07 +0200 (CEST) |
User-agent: |
Alpine 2.21 (BSF 202 2017-01-01) |
Hello,
This is inspired by discussion I've read on some forums but I'm sending it
here because I'm not on those forums but what I post here usually gets
forwarded there as well and it might also be interesting for some reading
this list who is considering helping to improve QEMU PPC emulation.
Some have tried running MorphOS on mac99 and tried running some benchmarks
they commonly use to evaluate CPU speed of Amiga like systems and found it
to be slow. These benchmarks are summarised here for example:
http://www.amiga-news.de/en/news/AN-2012-02-00011-EN.html
I've looked at two of these and they seem to hit well known weak points of
QEMU: the lame benchmark is doing floating point calculations and the
mplayer one is using a lot of Altivec stuff.
Floating point in QEMU is all software emulated as was mentioned here:
https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg02499.html
and the longer story can be found here:
https://translatedcode.wordpress.com/2011/11/06/computing-abc-how-hard-can-it-be/
PPC Altivex instructions are also currently software only and probably far
from optimal. See qemu/target/ppc/int_helper.c.
So if you run anything that mainly depend on these then the performance
you get will be much less than would be desirable. So these could be
improved and fortunately there was some work done for ARM emulation
already to address these which were merged recently. These may be used as
a foundation or to give an idea what would be needed on the PPC side to
leverage these results. Tha Altivec side may only need using the
inftastructure put in for ARM and x86 also from PPC emulation, the
floating point issues may be a bit more difficult due to above described
problems but maybe using hardware support for some common operations with
only a few edge cases only, leaving the more complex things go via softmmu
could be done more easily and could already get some improvement. (This
was also tried before but not finished yet so if anyone wants to pick up
I think they could.)
I've found this excelent talk by Alex Bennée summarising everything that
was recently done in this area and also has a quick intro on how to
contribute to QEMU so it is highly recommended for anyone who has the
ability and willingness to improve these watch this and follow links in
the presentation to get started:
https://www.slideshare.net/linaroorg/hkg18tr08-upstreaming-sve-in-qemu-92876219
Not related to the above but mentioning it here:
- Also read that mac99 and sam460ex might not work with KVM on PPC
currently but no concrete info on how it failed was posted. I'm interested
to fix this by can't test it having no PPC hardware but if you tried it
and failed please at least post the errors you got not only that it does
not work as that alone won't make it work.
- It might be interesting to get MorphOS also running on sam460ex
emulation even though it works on mac99 already (to get some speed
comparison between CPU emulations for example). But I'm not sure it works
on real hardware correctly so if you have a real Sam460EX could you try
booting it from a CD connected to a PCI SATA controller and only with the
on-board SM502 graphics and let us know if it works?
Regards,
BALATON Zoltan
- [Qemu-ppc] MorphOS benchmark results,
BALATON Zoltan <=