Topics

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


Wei Wu (吴伟)
 

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 (吴伟)
 

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 (吴伟) <lazyparser@...> wrote:
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 (吴伟)


--
Best wishes,
Wei Wu (吴伟)


Wei Wu (吴伟)
 

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=gmail.com@...> 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 (吴伟) <lazyparser@...> wrote:
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 (吴伟)


--
Best wishes,
Wei Wu (吴伟)



--
Best wishes,
Wei Wu (吴伟)


Alexander Zinovyev <zigmatulin@...>
 

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.

On Monday, November 30, 2020 at 12:07:41 AM UTC+13 lazyp...@... wrote:
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...@...> 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...@...> wrote:
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 (吴伟)


--
Best wishes,
Wei Wu (吴伟)



--
Best wishes,
Wei Wu (吴伟)


wangyadong (E) <yadonn.wang@...>
 

Hi, Alexander,

     Its a fully RV64G implementation of OpenJDK11u with the template interpreter and JIT backend (including both C1 and C2, but excluding AOT/JVMCI).

The test was started recently on the HiFive Unleashed together with Wei Wus team, and we’re also following the main line of the OpenJDK master, and will try to upstream to the community when the port’s stable.

 

Best Regards,

Yadong Wang

 

发件人: Alexander Zinovyev [mailto:zigmatulin@...]
发送时间: 2020124 17:42
收件人: RISC-V SW Dev <sw-dev@...>
抄送: lazyp...@... <lazyparser@...>; wangyadong (E) <yadonn.wang@...>; din...@... <dingli@...>; sig-cod...@... <sig-code-speed@...>
主题: Re: [RISC-V] [sig-code-speed] [CodeSpeed][Java] Now we have the first RISCV64G porting in OpenJDK11 (BishengJDK)

 

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.

On Monday, November 30, 2020 at 12:07:41 AM UTC+13 lazyp...@... wrote:

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...@...> 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...@...> wrote:

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 (
吴伟)



--

Best wishes,
Wei Wu (
吴伟)



--

Best wishes,
Wei Wu (
吴伟)