All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Palmer Dabbelt <palmer@dabbelt.com>
Cc: stefanha@gmail.com,  Alistair Francis <Alistair.Francis@wdc.com>,
	dbarboza@ventanamicro.com,  qemu-devel@nongnu.org,
	 kvm@vger.kernel.org, afaria@redhat.com,  eperezma@redhat.com,
	 gmaglione@redhat.com, marcandre.lureau@redhat.com,
	 rjones@redhat.com,  sgarzare@redhat.com, imp@bsdimp.com,
	 philmd@linaro.org,  pbonzini@redhat.com, thuth@redhat.com,
	 danielhb413@gmail.com,  gaosong@loongson.cn,
	akihiko.odaki@daynix.com,  shentey@gmail.com,  npiggin@gmail.com,
	seanjc@google.com,  Marc Zyngier <maz@kernel.org>
Subject: Re: Call for GSoC/Outreachy internship project ideas
Date: Thu, 01 Feb 2024 18:57:00 +0000	[thread overview]
Message-ID: <87frycj9mr.fsf@draig.linaro.org> (raw)
In-Reply-To: <mhng-ec5f9ea7-e704-4302-8542-c8c36ea979d8@palmer-ri-x1c9a> (Palmer Dabbelt's message of "Thu, 01 Feb 2024 10:01:13 -0800 (PST)")

Palmer Dabbelt <palmer@dabbelt.com> writes:

> On Thu, 01 Feb 2024 09:39:22 PST (-0800), alex.bennee@linaro.org wrote:
>> Palmer Dabbelt <palmer@dabbelt.com> writes:
>>
>>> On Tue, 30 Jan 2024 12:28:27 PST (-0800), stefanha@gmail.com wrote:
>>>> On Tue, 30 Jan 2024 at 14:40, Palmer Dabbelt <palmer@dabbelt.com> wrote:
>>>>>
>>>>> On Mon, 15 Jan 2024 08:32:59 PST (-0800), stefanha@gmail.com wrote:
>>>>> > Dear QEMU and KVM communities,
>>>>> > QEMU will apply for the Google Summer of Code and Outreachy internship
>>>>> > programs again this year. Regular contributors can submit project
>>>>> > ideas that they'd like to mentor by replying to this email before
>>>>> > January 30th.
>>>>>
>>>>> It's the 30th, sorry if this is late but I just saw it today.  +Alistair
>>>>> and Daniel, as I didn't sync up with anyone about this so not sure if
>>>>> someone else is looking already (we're not internally).
>> <snip>
>>>> Hi Palmer,
>>>> Performance optimization can be challenging for newcomers. I wouldn't
>>>> recommend it for a GSoC project unless you have time to seed the
>>>> project idea with specific optimizations to implement based on your
>>>> experience and profiling. That way the intern has a solid starting
>>>> point where they can have a few successes before venturing out to do
>>>> their own performance analysis.
>>>
>>> Ya, I agree.  That's part of the reason why I wasn't sure if it's a
>>> good idea.  At least for this one I think there should be some easy to
>>> understand performance issue, as the loops that go very slowly consist
>>> of a small number of instructions and go a lot slower.
>>>
>>> I'm actually more worried about this running into a rabbit hole of
>>> adding new TCG operations or even just having no well defined mappings
>>> between RVV and AVX, those might make the project really hard.
>>
>> You shouldn't have a hard guest-target mapping. But are you already
>> using the TCGVec types and they are not expanding to AVX when its
>> available?
>
> Ya, sorry, I guess that was an odd way to describe it.  IIUC we're
> doing sane stuff, it's just that RISC-V has a very different vector
> masking model than other ISAs.  I just said AVX there because I only
> care about the performance on Intel servers, since that's what I run
> QEMU on.  I'd asssume we have similar performance problems on other
> targets, I just haven't looked.
>
> So my worry would be that the RVV things we're doing slowly just don't
> have fast implementations via AVX and thus we run into some
> intractable problems.  That sort of stuff can be really frusturating
> for an intern, as everything's new to them so it can be hard to know
> when something's an optimization dead end.
>
> That said, we're seeing 100x slowdows in microbenchmarks and 10x
> slowdowns in real code, so I think there sholud be some way to do
> better.

It would be nice if you could convert that micro-benchmark to plain C
for a tcg/multiarch test case. It would be a useful tool for testing
changes.

>
>> Remember for anything float we will end up with softfloat anyway so we
>> can't use SIMD on the backend.
>
> Yep, but we have a handful of integer slowdowns too so I think there's
> some meat to chew on here.  The softfloat stuff should be equally slow
> for scalar/vector, so we shouldn't be tripping false positives there.
>
>>>> Do you have the time to profile and add specifics to the project idea
>>>> by Feb 21st? If that sounds good to you, I'll add it to the project
>>>> ideas list and you can add more detailed tasks in the coming weeks.
>>>
>>> I can at least dig up some of the examples I ran into, there's been a
>>> handful filtering in over the last year or so.
>>>
>>> This one
>>> <https://gist.github.com/compnerd/daa7e68f7b4910cb6b27f856e6c2beba>
>>> still has a much more than 10x slowdown (73ms -> 13s) with
>>> vectorization, for example.
>>>
>>>> Thanks,
>>>> Stefan
>>
>> -- Alex Bennée
>> Virtualisation Tech Lead @ Linaro

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


  reply	other threads:[~2024-02-01 18:58 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-15 16:32 Call for GSoC/Outreachy internship project ideas Stefan Hajnoczi
     [not found] ` <CAAfnVBn0+627rLGXeLdsvUge0_VegcbTVuQf8rQwtjuJ3hcJnA@mail.gmail.com>
2024-01-24 12:51   ` Stefan Hajnoczi
2024-01-31 23:55     ` Gurchetan Singh
2024-02-01  0:11       ` Stefan Hajnoczi
2024-01-29 18:53 ` Eugenio Perez Martin
2024-01-29 19:39   ` Stefan Hajnoczi
2024-01-30 12:08     ` Eugenio Perez Martin
2024-01-30 19:34       ` Stefan Hajnoczi
2024-01-31 10:37         ` Eugenio Perez Martin
2024-01-30 19:16 ` Alexander Graf
2024-01-30 20:15   ` Stefan Hajnoczi
2024-01-30 19:40 ` Palmer Dabbelt
2024-01-30 20:28   ` Stefan Hajnoczi
2024-01-31  0:29     ` Palmer Dabbelt
2024-01-31  1:26       ` Alistair Francis
2024-01-31  1:50         ` Palmer Dabbelt
2024-02-01 17:39       ` Alex Bennée
2024-02-01 18:01         ` Palmer Dabbelt
2024-02-01 18:57           ` Alex Bennée [this message]
2024-02-01 19:06             ` Palmer Dabbelt
2024-01-31 14:39   ` Stefan Hajnoczi
2024-01-31 15:59     ` Palmer Dabbelt
2024-01-31 18:20       ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87frycj9mr.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=Alistair.Francis@wdc.com \
    --cc=afaria@redhat.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=danielhb413@gmail.com \
    --cc=dbarboza@ventanamicro.com \
    --cc=eperezma@redhat.com \
    --cc=gaosong@loongson.cn \
    --cc=gmaglione@redhat.com \
    --cc=imp@bsdimp.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcandre.lureau@redhat.com \
    --cc=maz@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=palmer@dabbelt.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.com \
    --cc=seanjc@google.com \
    --cc=sgarzare@redhat.com \
    --cc=shentey@gmail.com \
    --cc=stefanha@gmail.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.