All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions
@ 2016-06-19  5:33 Timothy Pearson
  2016-06-19 12:35 ` [Qemu-devel] [Bug 1594069] " pranith
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Timothy Pearson @ 2016-06-19  5:33 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
translated to scalar instructions on the host instead of SIMD
instructions.  It appears that there have been a few efforts to rectify
this [1], and even a submitted patch series, but all discussion has
effectively died out [2].

I would like to see better SIMD performance on qemu, especially as
non-x86 architectures are becoming widely used (e.g. ARM).

[1] http://dl.acm.org/citation.cfm?id=2757098&dl=ACM&coll=DL&CFID=633095244&CFTOKEN=12352103
[2] https://lists.nongnu.org/archive/html/qemu-devel/2014-10/msg01720.html

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1594069

Title:
  SIMD instructions translated to scalar host instructions

Status in QEMU:
  New

Bug description:
  SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
  translated to scalar instructions on the host instead of SIMD
  instructions.  It appears that there have been a few efforts to
  rectify this [1], and even a submitted patch series, but all
  discussion has effectively died out [2].

  I would like to see better SIMD performance on qemu, especially as
  non-x86 architectures are becoming widely used (e.g. ARM).

  [1] http://dl.acm.org/citation.cfm?id=2757098&dl=ACM&coll=DL&CFID=633095244&CFTOKEN=12352103
  [2] https://lists.nongnu.org/archive/html/qemu-devel/2014-10/msg01720.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1594069/+subscriptions

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [Bug 1594069] Re: SIMD instructions translated to scalar host instructions
  2016-06-19  5:33 [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions Timothy Pearson
@ 2016-06-19 12:35 ` pranith
  2016-06-19 13:14 ` [Qemu-devel] [Bug 1594069] [NEW] " Peter Maydell
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: pranith @ 2016-06-19 12:35 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1594069

Title:
  SIMD instructions translated to scalar host instructions

Status in QEMU:
  Confirmed

Bug description:
  SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
  translated to scalar instructions on the host instead of SIMD
  instructions.  It appears that there have been a few efforts to
  rectify this [1], and even a submitted patch series, but all
  discussion has effectively died out [2].

  I would like to see better SIMD performance on qemu, especially as
  non-x86 architectures are becoming widely used (e.g. ARM).

  [1] http://dl.acm.org/citation.cfm?id=2757098&dl=ACM&coll=DL&CFID=633095244&CFTOKEN=12352103
  [2] https://lists.nongnu.org/archive/html/qemu-devel/2014-10/msg01720.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1594069/+subscriptions

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions
  2016-06-19  5:33 [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions Timothy Pearson
  2016-06-19 12:35 ` [Qemu-devel] [Bug 1594069] " pranith
@ 2016-06-19 13:14 ` Peter Maydell
  2016-06-20 14:05 ` [Qemu-devel] [Bug 1594069] " Timothy Pearson
  2017-11-03 16:32 ` Peter Maydell
  3 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2016-06-19 13:14 UTC (permalink / raw)
  To: Bug 1594069; +Cc: QEMU Developers

On 19 June 2016 at 06:33, Timothy Pearson <kb9vqf@pearsoncomputing.net> wrote:
> Public bug reported:
>
> SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
> translated to scalar instructions on the host instead of SIMD
> instructions.  It appears that there have been a few efforts to rectify
> this [1], and even a submitted patch series, but all discussion has
> effectively died out [2].
>
> I would like to see better SIMD performance on qemu, especially as
> non-x86 architectures are becoming widely used (e.g. ARM).

I agree it would be nice, but I'm not sure there's much benefit
from filing a bug about it. Bug reports don't magically become
code changes, and doing SIMD-to-SIMD is very difficult when
you need to support multiple host and guest architectures and
get all the details and corner cases correct. QEMU as it stands
isn't behaving wrongly.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [Bug 1594069] Re: SIMD instructions translated to scalar host instructions
  2016-06-19  5:33 [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions Timothy Pearson
  2016-06-19 12:35 ` [Qemu-devel] [Bug 1594069] " pranith
  2016-06-19 13:14 ` [Qemu-devel] [Bug 1594069] [NEW] " Peter Maydell
@ 2016-06-20 14:05 ` Timothy Pearson
  2016-06-20 15:08   ` Peter Maydell
  2017-11-03 16:32 ` Peter Maydell
  3 siblings, 1 reply; 6+ messages in thread
From: Timothy Pearson @ 2016-06-20 14:05 UTC (permalink / raw)
  To: qemu-devel

I mostly filed the bug report since I was seeing multiple different
attempts to implement this, and even a proper patch series on the
mailing list, but no movement at all toward integrating this feature
into mainline qemu.

What would be needed to e.g. make the patch series on the mailing list
acceptable for merge?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1594069

Title:
  SIMD instructions translated to scalar host instructions

Status in QEMU:
  Confirmed

Bug description:
  SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
  translated to scalar instructions on the host instead of SIMD
  instructions.  It appears that there have been a few efforts to
  rectify this [1], and even a submitted patch series, but all
  discussion has effectively died out [2].

  I would like to see better SIMD performance on qemu, especially as
  non-x86 architectures are becoming widely used (e.g. ARM).

  [1] http://dl.acm.org/citation.cfm?id=2757098&dl=ACM&coll=DL&CFID=633095244&CFTOKEN=12352103
  [2] https://lists.nongnu.org/archive/html/qemu-devel/2014-10/msg01720.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1594069/+subscriptions

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [Bug 1594069] Re: SIMD instructions translated to scalar host instructions
  2016-06-20 14:05 ` [Qemu-devel] [Bug 1594069] " Timothy Pearson
@ 2016-06-20 15:08   ` Peter Maydell
  0 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2016-06-20 15:08 UTC (permalink / raw)
  To: Bug 1594069; +Cc: QEMU Developers

On 20 June 2016 at 15:05, Timothy Pearson <kb9vqf@pearsoncomputing.net> wrote:
> I mostly filed the bug report since I was seeing multiple different
> attempts to implement this, and even a proper patch series on the
> mailing list, but no movement at all toward integrating this feature
> into mainline qemu.
>
> What would be needed to e.g. make the patch series on the mailing list
> acceptable for merge?

The bare minimum is that things need to not break for any
guest x host combination. The RFC patchset from Kirill says
that it doesn't work for all ARM guest code, for instance.
It also needs to fall back cleanly if the backend doesn't support
vector ops, and I'm not sure if the RFC does that. It needs
to implement more than a single test "vector add". It needs
to be reasonably demonstrated that it's actually a win on
real-life code rather than a trivial microbenchmark. The
various concerns listed in the RFC cover letter need to be
discussed and addressed.

This is all certainly doable, but the missing thing is "nobody
is actually doing it", not "we didn't know about this".
An RFC patchset is a sketch of a design, and there's a long
way between that and committable code.

The ACM paper looks like a classic example of a bit of academic
work: maybe they did something interesting, but their intended
end output was a paper, not code, and they never submitted any
patches to us that I'm aware of. (And again, "academic prototype"
and "production code" are often far apart.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [Bug 1594069] Re: SIMD instructions translated to scalar host instructions
  2016-06-19  5:33 [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions Timothy Pearson
                   ` (2 preceding siblings ...)
  2016-06-20 14:05 ` [Qemu-devel] [Bug 1594069] " Timothy Pearson
@ 2017-11-03 16:32 ` Peter Maydell
  3 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-11-03 16:32 UTC (permalink / raw)
  To: qemu-devel

Closing this because it isn't a bug. (It looks like some of the vector
TCG improvements are now in progress and might hit master for 2.12; but
in any case having an open bug in the system about this serves no useful
purpose.)


** Changed in: qemu
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1594069

Title:
  SIMD instructions translated to scalar host instructions

Status in QEMU:
  Invalid

Bug description:
  SIMD instructions inside the guest (NEON, MMX, SSE, SSE2, AVX) are
  translated to scalar instructions on the host instead of SIMD
  instructions.  It appears that there have been a few efforts to
  rectify this [1], and even a submitted patch series, but all
  discussion has effectively died out [2].

  I would like to see better SIMD performance on qemu, especially as
  non-x86 architectures are becoming widely used (e.g. ARM).

  [1] http://dl.acm.org/citation.cfm?id=2757098&dl=ACM&coll=DL&CFID=633095244&CFTOKEN=12352103
  [2] https://lists.nongnu.org/archive/html/qemu-devel/2014-10/msg01720.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1594069/+subscriptions

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-11-03 16:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-19  5:33 [Qemu-devel] [Bug 1594069] [NEW] SIMD instructions translated to scalar host instructions Timothy Pearson
2016-06-19 12:35 ` [Qemu-devel] [Bug 1594069] " pranith
2016-06-19 13:14 ` [Qemu-devel] [Bug 1594069] [NEW] " Peter Maydell
2016-06-20 14:05 ` [Qemu-devel] [Bug 1594069] " Timothy Pearson
2016-06-20 15:08   ` Peter Maydell
2017-11-03 16:32 ` Peter Maydell

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.