[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] MorphOS benchmark results
From: |
Programmingkid |
Subject: |
Re: [Qemu-ppc] MorphOS benchmark results |
Date: |
Wed, 18 Jul 2018 11:09:17 -0400 |
> On Jul 18, 2018, at 9:53 AM, BALATON Zoltan <address@hidden> wrote:
>
> 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
Speeding up the floating point unit in QEMU is going to be a challenge. I think
our only hope right now it to improve the MTTCG.
Right now I am working on fixing the floating point status and control
register. The flags that make it up are not all correctly set. Hopefully this
will improve things for PPC guests.