[CodeSpeed][Java] Now we have the first RISCV64G porting in OpenJDK11 (BishengJDK)

167 views
Skip to first unread message

Wei Wu (吴伟)

unread,
Nov 16, 2020, 9:32:29 AM11/16/20
to RISC-V SW Dev, sig-cod...@lists.riscv.org
Hi all,

I am very excited to share this news with you. The BishengJDK team from huawei has just open sourced their initial porting for RV64G platform. Anyone who is interested is recommended to fork the code and have a try.

The official repo is here:

A github mirror has been set if you could not access the official repo:

Next steps:
- Functional Testing on physical boards. The BishengJDK team has tested on QEMU only, due to the lack of physical risc-v boards.The PLCT lab will cover these testing.
- perf baseline is going to set. The PLCT Lab will help to track all main java benchmarks.
- The BishengJDK team would start to upstream soon. (A few docs are written in non-English language which need to be translated. after this the code review would be started.)
- Further roadmap would be discussed on the code speed SIG meetings and toolchain & runtime meetings. We are inviting all contributors who are porting JDK to RISC-V join us.

--
Best wishes,
Wei Wu (吴伟)

Wei Wu (吴伟)

unread,
Nov 21, 2020, 2:46:17 AM11/21/20
to RISC-V SW Dev, sig-cod...@lists.riscv.org
Hi all,

Dingli Zhang from the PLCT Lab wrote a blog about how to test BishengJDK (OpenJDK) on the HiFive Unleashed board. A few bugs had been found when he wrote the article, and glad to know that engineers from the BishengJDK team have already fixed the issues (good job!). We'll post the initial benchmark results once it gets done.

As the previous email mentioned, the BishengJDK team is willing to push the efforts to OpenJDK upstream. The PLCT Lab is collaborating with them and united as one group to improve the RV64 backend. Anyone who is working on or willing to work on the OpenJDK/OpenJ9 is welcome and invited to join the group.

https://plctlab.github.io/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html
> BishengJDK 11 now brings the template interpreter and backends of C1/C2 compiler to the RISC-V world.
> This test is to build the JDK on RISCV64 and do some benchmark on HiFive Unleashed.

Wei Wu (吴伟)

unread,
Nov 29, 2020, 6:07:41 AM11/29/20
to sig-cod...@lists.riscv.org, RISC-V SW Dev, yadon...@huawei.com, dingli zhang
Hi all:

Java Speed Update:

The BishengJDK team and PLCT Lab have some initial results of BishengJDK's RV64G port.
The result is very promising. Roughly 20x improvement has been observed. We are very
optimistic on the 100x speed up goal[1].

We are inviting all teams, companies, or individuals who are interested in OpenJDK to join us,
as one unite open source team for OpenJDK RISC-V porting.


## Benchmark

SPECjvm98

## Platform

Hifive Unleashed (RV64GC), Fedora/RISCV64GC port

## the text format:

benchmark normal zero B/C*100%
startup.helloworld 15.61 10.69 146.02%
startup.compiler.compiler 15.27 10.75 142.05%
startup.compiler.sunflow 15.38 10.85 141.75%
startup.compress 3.48 0.07 4971.43%
startup.crypto.aes 0.88 0.05 1760.00%
startup.crypto.rsa 4 0.13 3076.92%
startup.crypto.signverify 4.37 0.06 7283.33%
startup.mpegaudio 1.86 0.1 1860.00%
startup.scimark.fft 4.3 0.39 1102.56%
startup.scimark.lu 2.98 0.2 1490.00%
startup.scimark.monte_carlo 3.2 0.05 6400.00%
startup.scimark.sor 3.97 0.29 1368.97%
startup.scimark.sparse 2.19 0.2 1095.00%
startup.serial 1.17 0.04 2925.00%
startup.sunflow 8.16 0.11 7418.18%
startup.xml.transform 0.18 0.02 900.00%
startup.xml.validation 2.04 0.14 1457.14%
compiler.compiler NA NA NA
compiler.sunflow NA NA NA
compress 20.85 0.27 7722.22%
crypto.aes 3.66 0.18 2033.33%
crypto.rsa 35.33 0.56 6308.93%
crypto.signverify 36.94 0.26 14207.69%
derby 1.31 NA NA
mpegaudio NA 0.39 NA
scimark.fft.large 7.22 NA NA
scimark.lu.large 0.84 NA NA
scimark.sor.large 3.24 NA NA
scimark.sparse.large 1.27 NA NA
scimark.fft.small 22.12 1.58 1400.00%
scimark.lu.small 14.57 0.81 1798.77%
scimark.sor.small 20.64 1.16 1779.31%
scimark.sparse.small 6.89 0.75 918.67%
scimark.monte_carlo 20.07 0.21 9557.14%
serial 5.85 NA NA
sunflow NA NA NA
xml.transform 15.93 NA NA
xml.validation 33.51 NA NA

(the attachment is the jpeg format of the result)

On Sat, Nov 21, 2020 at 3:46 PM Wei Wu (吴伟) via lists.riscv.org <lazyparser=gmai...@lists.riscv.org> wrote:
Hi all,

Dingli Zhang from the PLCT Lab wrote a blog about how to test BishengJDK (OpenJDK) on the HiFive Unleashed board. A few bugs had been found when he wrote the article, and glad to know that engineers from the BishengJDK team have already fixed the issues (good job!). We'll post the initial benchmark results once it gets done.

As the previous email mentioned, the BishengJDK team is willing to push the efforts to OpenJDK upstream. The PLCT Lab is collaborating with them and united as one group to improve the RV64 backend. Anyone who is working on or willing to work on the OpenJDK/OpenJ9 is welcome and invited to join the group.

https://plctlab.github.io/openjdk/Building_instruction_and_test_of_BishengJDK11_on_HiFive_Unleashed.html
> BishengJDK 11 now brings the template interpreter and backends of C1/C2 compiler to the RISC-V world.
> This test is to build the JDK on RISCV64 and do some benchmark on HiFive Unleashed.


On Mon, Nov 16, 2020 at 10:31 PM Wei Wu (吴伟) <lazyp...@gmail.com> wrote:
_._,_._,_

Links:

You receive all messages sent to this group.

View/Reply Online (#10) | Reply To Group | Reply To Sender | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [lazyp...@gmail.com]

_._,_._,_

initial-results-on-bishengJDK-rv64g-port.jpeg

Alexander Zinovyev

unread,
Dec 4, 2020, 4:41:59 AM12/4/20
to RISC-V SW Dev, lazyp...@gmail.com, yadon...@huawei.com, din...@iscas.ac.cn, sig-cod...@lists.riscv.org
Hi Wei Wu,
  
  That is exciting. 
  Would it be possible to provide some additional information (or link to the document where it is already documented) about the scope of what was included? I'm interested in particular in JIT, TemplateInterpreter, etc. I looked at repository and I didn't find it was mentioned there, so decided to double check here.

Andrew Haley

unread,
Dec 17, 2020, 4:53:17 AM12/17/20
to sw-...@groups.riscv.org
On 16/11/2020 14:31, Wei Wu (吴伟) wrote:
> I am very excited to share this news with you. The BishengJDK team from
> huawei has just open sourced their initial porting for RV64G platform.
> Anyone who is interested is recommended to fork the code and have a try.
>
> The official repo is here:
> https://gitee.com/openeuler/bishengjdk-11/tree/risc-v

That looks pretty good.

> - The BishengJDK team would start to upstream soon. (A few docs are written
> in non-English language which need to be translated. after this the code
> review would be started.)

It would certainly help visibility in the OpenJDK community if you
created an OpenJDK project and moved the source code into the
OpenJDK github.

--
Andrew Haley (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

Wei Wu (吴伟)

unread,
Dec 18, 2020, 12:47:20 AM12/18/20
to Andrew Haley, RISC-V SW Dev, yadon...@huawei.com
On Thu, Dec 17, 2020 at 5:53 PM Andrew Haley <a...@redhat.com> wrote:
On 16/11/2020 14:31, Wei Wu (吴伟) wrote:

> - The BishengJDK team would start to upstream soon. (A few docs are written
> in non-English language which need to be translated. after this the code
> review would be started.)

It would certainly help visibility in the OpenJDK community if you
created an OpenJDK project and moved the source code into the
OpenJDK github.

Indeed. We were fixing a few bugs we found when running Java benchmarks
on physical RV64GC boards. Yadong Wang from the BishengJDK is preparing
to go upstreaming. BishengJDK is forked from OpenJDK, so I am optimistic that
the rebase work would not be hard.

I have not realised that we may be able to create an OpenJDK project on github.
Actually I've create a new github group for it:


Yadong and I will check how to move it to the OpenJDK github. Thanks.
 

Andrew Haley

unread,
Dec 18, 2020, 5:35:53 AM12/18/20
to Wei Wu (吴伟), RISC-V SW Dev, yadon...@huawei.com
On 12/18/20 5:46 AM, Wei Wu (吴伟) wrote:
> Yadong and I will check how to move it to the OpenJDK github.

First, start the OpenJDK project, then the github comes along.
You really need to do this first to stabilize the port before
pushing to mainline.

I hope very much that you can get copyright assignment from
everyone.

Sean Halle

unread,
Dec 18, 2020, 5:48:18 PM12/18/20
to Wei Wu (吴伟), RISC-V SW Dev, sig-cod...@lists.riscv.org

Hi Wei, thank you and the Bisheng team for this :-)

We have been trying to build this via QEMU in Fedora 32 for RISC-V.  There are many dependencies that need to be installed, which in turn have other dependencies that are problematic, and we encountered a segfault while building.  Do you happen to have a Docker container or some other ready environment in which to build the source?  Or a downloadable binary for Fedora?

Thanks Wei,

Sean


--
You received this message because you are subscribed to the Google Groups "RISC-V SW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+un...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/CANkjrB7sxHkexe6NkCpHk-u%3DfqV0C_1SEd2hXgHE5ogrtbG-dQ%40mail.gmail.com.

Wei Wu (吴伟)

unread,
Dec 18, 2020, 6:44:09 PM12/18/20
to Sean Halle, RISC-V SW Dev, sig-cod...@lists.riscv.org, yadon...@huawei.com, dingli zhang
Hi Sean,

Currently the porting is RV64G only, the RV32 porting is not done yet. For the 64-bit Fedora, Dingli has wrote a blog for it:


Hopefully the porting of RV32 would be started after the upstreaming of RV64G porting.
Reply all
Reply to author
Forward
0 new messages