All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Xerxes Rånby" <xerxes@zafena.se>
To: openembedded-devel@lists.openembedded.org
Cc: Koen Kooi <k.kooi@student.utwente.nl>
Subject: Re: Openjdk shark and cacao VMs not working - shark fixed
Date: Wed, 21 Jul 2010 13:41:23 +0200	[thread overview]
Message-ID: <4C46DCE3.1080207@zafena.se> (raw)
In-Reply-To: <i216cf$pju$1@dough.gmane.org>

Hi Koen!

I have updated the llvm2.7 package to fix the shark
UNREACHABLE executed at ARMCodeEmitter.cpp:554! error
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=d1dcd08e4ec0b65aaaef149bace47da16acf7626

By using those fixes i was able to pass your Linpack testcase:

xerxes@overo:/usr/src/openembedded/shark-test/testcases$
../21jul-2010/j2sdk-image/bin/java -shark Linpack
Mflops/s: 1.063  Time: 0.65 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16

It worked but it looks a bit slow.. I checked why.
it seems Shark are still JITing when the test exits.

I tested to modify the Linpack testcase to run it several times in a row.
by changing the Linpack main to:

  public static void main(String[] args)
  {
    for(int i=0;i<100;i++){
      Linpack l = new Linpack();
      l.run_benchmark();
    }
  }

Now it looks much better:

xerxes@overo:/usr/src/openembedded/shark-test/testcases$
../21jul-2010/j2sdk-image/bin/java -shark Linpack
Mflops/s: 1.068  Time: 0.64 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.014  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
LLVM ERROR: ARMv6t2 JIT is not yet supported.

But as you can see I have hited a new LLVM ERROR, and this time because
we are trying to use the thumb2 jit on armv7 hardware.

I have updated the llvm2.7 package once again by backporting more fixes
from the llvm2.8svn branch
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=de16a3d10308c81c7e40886bbe0846604eebdf77

And now when using llvm2.7-2.7-r8 I am able to run the Linpack testcase
for any amount of iterations:

xerxes@overo:/usr/src/openembedded/shark-test/testcases$
../21jul-2010/j2sdk-image/bin/java -shark Linpack
Mflops/s: 1.066  Time: 0.64 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.014  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 14.306  Time: 0.05 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
... about 30 iterations later
Mflops/s: 17.167  Time: 0.04 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 17.607  Time: 0.04 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
Mflops/s: 17.607  Time: 0.04 secs  Norm Res: 1.43  Precision:
2.220446049250313E-16
...

I am quite happy with those results.
Once we get LLVM and Shark stable then we can drop the Assertions in
LLVM and that will make Shark JIT faster and hopefully get it warm fast
enough to generate good scores for the first iteration of the Linpack
benchmark.

Please report if you find any new Shark issues.

Cheers, and have a great day!
Xerxes

On 2010-07-19 11:37, Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> I built openjdk completely from scratch and installed it:
>
> opkg install openjdk-6-common openjdk-6-demo openjdk-6-java
> openjdk-6-jdk openjdk-6-jre
>
> opkg install openjdk-6-vm-shark openjdk-6-vm-cacao
>
> That needs to be done in 2 opkg commands since -cacao and -shark edit a
> jvm.cfg in their postinst which isn't in their Depends: line. Trivial to
> fix, need to sit down and see in which package it resides.
>
> So:
>
> root@beagleboard-C4:~# java -zero Linpack # [1]
> Mflops/s: 9.537  Time: 0.07 secs  Norm Res: 1.43  Precision:
> 2.220446049250313E-16
>
> So far, so good. Better than the 3 Mflops jamvm+classpath gets, but not
> as nice as the 16Mflops cacao+classpath can do.
>
> So lets try some other VMs:
>
> root@beagleboard-C4:~# java -shark Linpack
> ARMCodeEmitter::emitPseudoInstruction
> UNREACHABLE executed at
> /OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/llvm2.7-2.7-r6/llvm-2.7/lib/Target/ARM/ARMCodeEmitter.cpp:554!
> Stack dump:
> 0.      Running pass 'ARM Machine Code Emitter' on function
> '@"Linpack::daxpy"'
> Aborted
>
> OK, Xerxes blogged about debugging such issues, but the summer intern is
> too busy with other stuff currently.
>   




> root@beagleboard-C4:~# java -cacao Linpack
> java: avl.c:348: avl_find: Assertion `tree' failed.
> Aborted
>
> No idea on that.
>
> Do the java mages have some idea on how to get shark and cacao working well?
>
> regards,
>
> Koen
>
> [1] http://www.netlib.org/benchmark/linpackjava/LinpackJava.zip compiled
> with javac on osx
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
>
> iD8DBQFMRBzPMkyGM64RGpERAiEJAJ4yeJVBcvuwHzVbS++Zt5iI9Rp11QCgm3aB
> Xqj79L9E1QpIz19c0QSxh6o=
> =OBoo
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>   




  reply	other threads:[~2010-07-21 11:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-19  9:37 Openjdk shark and cacao VMs not working Koen Kooi
2010-07-21 11:41 ` Xerxes Rånby [this message]
2010-07-21 14:20   ` Openjdk shark and cacao VMs not working - shark fixed Martin Jansa
2010-07-22 15:15     ` Martin Jansa
2010-07-23 10:58       ` Openjdk shark and cacao VMs not working - armv4 LLVM symbol powf, version GLIBCXX_3.4 not, defined Xerxes Rånby
2010-08-18 22:47         ` Stefan Ring

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=4C46DCE3.1080207@zafena.se \
    --to=xerxes@zafena.se \
    --cc=k.kooi@student.utwente.nl \
    --cc=openembedded-devel@lists.openembedded.org \
    /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.