Re: [Qemu-devel] QEmu TCG SIMD extension?

2013-03-06 Thread Wei-Ren Chen
On Wed, Mar 06, 2013 at 11:47:58AM +0800, Peter Maydell wrote:
 On 6 March 2013 11:30, 陳韋任 (Wei-Ren Chen) che...@iis.sinica.edu.tw wrote:
  While searching for QEMU SIMD issues, I found there was a paper presented
  in 2011 [1], and the source code is also public on [2]. However, it seems
  this project doesn't make any progress since last year. I update their
  change to upstream and you can download from here:
 
$ git clone git://github.com/azru0512/qemu.git -b neon-simd
 
  Sadly, it can not boot the kernel image provided on [2]. Anyway, I
  found there was only one thread has discussion on their work [3]. I want
  to hear more feedback on their idea on adding SIMD TCG IR.
 
 I think my opinions are still the same -- interesting idea, but getting
 it to work with a set of IR ops which aren't target or host specific
 and getting it to give correct bit-for-bit results, rounding, flags,
 etc, is likely to be tricky. It would also be important to determine
 first whether Neon (or other SIMD) emulation performance is truly
 a major bottleneck.

  I found the problem and now it can boot the kernel image and run the
test. The authors claim they design the general SIMD IR after studying
various SIMD ISA. I am not an expert, and only can decide if it's true
or not by writing another frontend. Well, one of reasons I am studying
their work is to see SIMD IR could benifit our QEMU+LLVM binary
translator. ;)

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj



Re: [Qemu-devel] QEmu TCG SIMD extension?

2013-03-06 Thread Paolo Bonzini
Il 06/03/2013 04:47, Peter Maydell ha scritto:
 On 6 March 2013 11:30, 陳韋任 (Wei-Ren Chen) che...@iis.sinica.edu.tw wrote:
 While searching for QEMU SIMD issues, I found there was a paper presented
 in 2011 [1], and the source code is also public on [2]. However, it seems
 this project doesn't make any progress since last year. I update their
 change to upstream and you can download from here:

   $ git clone git://github.com/azru0512/qemu.git -b neon-simd

 Sadly, it can not boot the kernel image provided on [2]. Anyway, I
 found there was only one thread has discussion on their work [3]. I want
 to hear more feedback on their idea on adding SIMD TCG IR.
 
 I think my opinions are still the same -- interesting idea, but getting
 it to work with a set of IR ops which aren't target or host specific
 and getting it to give correct bit-for-bit results, rounding, flags,
 etc, is likely to be tricky. It would also be important to determine
 first whether Neon (or other SIMD) emulation performance is truly
 a major bottleneck.

SSE operations, while not a bottleneck, are the top helpers in the
profile when booting Linux on x86.

Using common code to generate the simplest unrolled SIMD operations
(logical operations, add, subtract, compare to zero) would already help
a lot, I think.

Paolo




Re: [Qemu-devel] QEmu TCG SIMD extension?

2013-03-06 Thread Peter Maydell
On 6 March 2013 16:18, Paolo Bonzini pbonz...@redhat.com wrote:
 Il 06/03/2013 04:47, Peter Maydell ha scritto:
 I think my opinions are still the same -- interesting idea, but getting
 it to work with a set of IR ops which aren't target or host specific
 and getting it to give correct bit-for-bit results, rounding, flags,
 etc, is likely to be tricky. It would also be important to determine
 first whether Neon (or other SIMD) emulation performance is truly
 a major bottleneck.

 SSE operations, while not a bottleneck, are the top helpers in the
 profile when booting Linux on x86.

 Using common code to generate the simplest unrolled SIMD operations
 (logical operations, add, subtract, compare to zero) would already help
 a lot, I think.

Yeah, I don't mean to say it's a bad idea, just that there's a long
distance between a neat tech demo/research paper and productised
code that can be committed to mainline :-)

-- PMM



[Qemu-devel] QEmu TCG SIMD extension?

2013-03-05 Thread Wei-Ren Chen
Hi all,

While searching for QEMU SIMD issues, I found there was a paper presented
in 2011 [1], and the source code is also public on [2]. However, it seems
this project doesn't make any progress since last year. I update their
change to upstream and you can download from here:

  $ git clone git://github.com/azru0512/qemu.git -b neon-simd

Sadly, it can not boot the kernel image provided on [2]. Anyway, I
found there was only one thread has discussion on their work [3]. I want
to hear more feedback on their idea on adding SIMD TCG IR.

[1] http://adt.cs.upb.de/quf/quf11/quf2011_12.pdf
[2] http://tima-sls.imag.fr/www/research/qemu/simd-qemu/
[3] http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg02065.html

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj



Re: [Qemu-devel] QEmu TCG SIMD extension?

2013-03-05 Thread Peter Maydell
On 6 March 2013 11:30, 陳韋任 (Wei-Ren Chen) che...@iis.sinica.edu.tw wrote:
 While searching for QEMU SIMD issues, I found there was a paper presented
 in 2011 [1], and the source code is also public on [2]. However, it seems
 this project doesn't make any progress since last year. I update their
 change to upstream and you can download from here:

   $ git clone git://github.com/azru0512/qemu.git -b neon-simd

 Sadly, it can not boot the kernel image provided on [2]. Anyway, I
 found there was only one thread has discussion on their work [3]. I want
 to hear more feedback on their idea on adding SIMD TCG IR.

I think my opinions are still the same -- interesting idea, but getting
it to work with a set of IR ops which aren't target or host specific
and getting it to give correct bit-for-bit results, rounding, flags,
etc, is likely to be tricky. It would also be important to determine
first whether Neon (or other SIMD) emulation performance is truly
a major bottleneck.

-- PMM