Re: openjdk riscv64 port

2021-05-20 Thread Yadong Wang

Hi all,

Thanks to Sanhong. Now we've pushed an initial patch of riscv port to 
the jdk-sandbox [1], based on a mainline code version from March 2021.


This riscv64 port supports RV64GV, shorthand for RV64IMAFDV ISA
extensions, and covers the templateInterpreter, C1 and C2, excluding
AOT/JVMCI. All existing GCs are available on riscv64, including ZGC
and ShenandoahGC.

The VectorAPI and ForeignAPI features are not supported for now.
Vectorization is experimentally supported, because the rvv 0.10 ISA
is still draft and supported by few emulators and hardware.

Configure and build steps:
http://cr.openjdk.java.net/~fyang/openjdk-riscv-port/BuildRISCVJDK.md

So far, we've passed JTReg tests on Qemu user mode(we could not find 
other emulators supporting the rvv 0.10, including qemu system mode) and 
the HiFive Unleashed board.


[1] https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch

Best Regards,
Yadong Wang

On 3/3/2021 9:09 PM, 李三红(三红) wrote:

Hi all,
We have created a risc-v port branch [1] in the jdk-sandbox [2].
@Yadong Wang, you guys can push the changes into this branch,  and we can start 
the collaboration based on this shared repo:)

[1] https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch
[2] https://github.com/openjdk/jdk-sandbox

Thanks!
Sanhong
-邮件原件-
发件人: Yadong Wang 
发送时间: 2021年2月20日 15:11
收件人: 李三红(三红) ; porters-dev@openjdk.java.net; 
edward.nev...@gmail.com
Re: openjdk riscv64 port

Sounds like a good idea. I'm fine with that.


HI Ed, Yadong,
In the parallel discussion for the project creation,  we may consider using 
jdk-sandbox [1]  as a sharing repo for further community collaboration(e.g. 
enhancements, bug fixing, etc.)?
Also,  we can consider generating the OpenJDK RISC-V build based on this repo, 
I think the people who looked into RISC-V have the interest to try it in their 
environment.
Your thoughts?

[1] https://github.com/openjdk/jdk-sandbox

Thanks!
Sanhong

On 2020/12/30 5:02, Edward Nevill wrote:

On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:

Hi,
  We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
Would the community like to help us to create a project? And then we can 
promote it stable with the community.

Yadong Wang
Huawei Technologies Co., Ltd.



Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to the 
general discussion list, discuss.at.openjdk.dot.java.dot.net with the subject line 
"Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.


.



Thank you, Ed. We read these discussions before we started. And in fact, we 
started with the Zero-Assembler port based on your initial patch.

Now we have an almost complete implementation of riscv port, and then I am 
willing to perform the project lead. In the past year, I lead our riscv port 
implementation based on OpenJDK, and wrote the substantial part. More 
importantly, I have a JVM team of about 30 engineers in Huawei to support me. 
Although we're new here, we have contributed nearly 90 patches to OpenJDK, and 
now have 1 reviewer, 1 committer, several authors and a dozen contributors in 
the community. They are all happy to help me. Also, there are many hardware 
engineers familiar with riscv with who we can co-worked in our company. We were 
also actively participated in many riscv isa task groups.

About future plans, we first contribute an initial riscv port of jdk11, latest 
LTS version so far, covering most of mainstream java frameworks, and so we can 
get more feedback of ecosystem participants. Adequate testing is the first 
priority, and we can co-worked with AdoptOpenJDK to build and distribute 
binaries(they contacted us and were willing to offer help), so that interested 
developers can try them ahead of time.
The initial port can be split to 3 patches (TemplateInterpreter, C1
and
C2) to be fully reviewed by the reviewers.

Meanwhile, the mainline version jdk/jdk is also under development and ready to 
open source after tested fully on the hardware.

By the way, AOT and Graal are not covered currently, and we can make plans as 
needed.

.



.





Re: openjdk riscv64 port

2021-03-04 Thread Yadong Wang

Hi Sanhong,

Nice. We are porting the riscv64 backend to jdk/jdk.There should be a 
initial patch comming up soon.


Best Regards,
Yadong

> On 3/3/2021 9:09 PM, lisanhong wrote:

Hi all,
We have created a risc-v port branch [1] in the jdk-sandbox [2].
@Yadong Wang, you guys can push the changes into this branch,  and we can start 
the collaboration based on this shared repo:)

[1] https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch
[2] https://github.com/openjdk/jdk-sandbox

Thanks!
Sanhong

>

On 2021/2/20 15:11, wangyadong wrote:

Sounds like a good idea. I'm fine with that.


HI Ed, Yadong,
In the parallel discussion for the project creation,  we may consider using 
jdk-sandbox [1]  as a sharing repo for further community collaboration(e.g. 
enhancements, bug fixing, etc.)?
Also,  we can consider generating the OpenJDK RISC-V build based on this repo, 
I think the people who looked into RISC-V have the interest to try it in their 
environment.
Your thoughts?

[1] https://github.com/openjdk/jdk-sandbox

Thanks!
Sanhong

On 2020/12/30 5:02, Edward Nevill wrote:

On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:

Hi,
  We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
Would the community like to help us to create a project? And then we can 
promote it stable with the community.

Yadong Wang
Huawei Technologies Co., Ltd.



Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to the 
general discussion list, discuss.at.openjdk.dot.java.dot.net with the subject line 
"Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.


.



Thank you, Ed. We read these discussions before we started. And in fact, we 
started with the Zero-Assembler port based on your initial patch.

Now we have an almost complete implementation of riscv port, and then I am 
willing to perform the project lead. In the past year, I lead our riscv port 
implementation based on OpenJDK, and wrote the substantial part. More 
importantly, I have a JVM team of about 30 engineers in Huawei to support me. 
Although we're new here, we have contributed nearly 90 patches to OpenJDK, and 
now have 1 reviewer, 1 committer, several authors and a dozen contributors in 
the community. They are all happy to help me. Also, there are many hardware 
engineers familiar with riscv with who we can co-worked in our company. We were 
also actively participated in many riscv isa task groups.

About future plans, we first contribute an initial riscv port of jdk11, latest 
LTS version so far, covering most of mainstream java frameworks, and so we can 
get more feedback of ecosystem participants. Adequate testing is the first 
priority, and we can co-worked with AdoptOpenJDK to build and distribute 
binaries(they contacted us and were willing to offer help), so that interested 
developers can try them ahead of time.
The initial port can be split to 3 patches (TemplateInterpreter, C1
and
C2) to be fully reviewed by the reviewers.

Meanwhile, the mainline version jdk/jdk is also under development and ready to 
open source after tested fully on the hardware.

By the way, AOT and Graal are not covered currently, and we can make plans as 
needed.

.



.





Re: openjdk riscv64 port

2021-02-19 Thread Yadong Wang

Sounds like a good idea. I'm fine with that.


HI Ed, Yadong,
In the parallel discussion for the project creation,  we may consider using 
jdk-sandbox [1]  as a sharing repo for further community collaboration(e.g. 
enhancements, bug fixing, etc.)?
Also,  we can consider generating the OpenJDK RISC-V build based on this repo, 
I think the people who looked into RISC-V have the interest to try it in their 
environment.
Your thoughts?

[1] https://github.com/openjdk/jdk-sandbox

Thanks!
Sanhong

On 2020/12/30 5:02, Edward Nevill wrote:

On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:

Hi,
 We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
Would the community like to help us to create a project? And then we can 
promote it stable with the community.

Yadong Wang
Huawei Technologies Co., Ltd.



Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to the 
general discussion list, discuss.at.openjdk.dot.java.dot.net with the subject line 
"Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.


.



Thank you, Ed. We read these discussions before we started. And in fact, we 
started with the Zero-Assembler port based on your initial patch.

Now we have an almost complete implementation of riscv port, and then I am 
willing to perform the project lead. In the past year, I lead our riscv port 
implementation based on OpenJDK, and wrote the substantial part. More 
importantly, I have a JVM team of about 30 engineers in Huawei to support me. 
Although we're new here, we have contributed nearly 90 patches to OpenJDK, and 
now have 1 reviewer, 1 committer, several authors and a dozen contributors in 
the community. They are all happy to help me. Also, there are many hardware 
engineers familiar with riscv with who we can co-worked in our company. We were 
also actively participated in many riscv isa task groups.

About future plans, we first contribute an initial riscv port of jdk11, latest 
LTS version so far, covering most of mainstream java frameworks, and so we can 
get more feedback of ecosystem participants. Adequate testing is the first 
priority, and we can co-worked with AdoptOpenJDK to build and distribute 
binaries(they contacted us and were willing to offer help), so that interested 
developers can try them ahead of time.
The initial port can be split to 3 patches (TemplateInterpreter, C1 and
C2) to be fully reviewed by the reviewers.

Meanwhile, the mainline version jdk/jdk is also under development and ready to 
open source after tested fully on the hardware.

By the way, AOT and Graal are not covered currently, and we can make plans as 
needed.

.





re: openjdk riscv64 port

2021-01-18 Thread Kuai Wei

Hi All,

  As Sanhong mentioned in other mail thread, we (Alibaba) are also interested 
in working on OpenJDK for RISC-V. And we have started to test Huawei's patch 
internally.
Can we have a public repository for RISC-V port firstly? So we can continue the 
contribution on bug fixing and performance enhancement.

Thanks,
Kevin

Re: openjdk riscv64 port

2021-01-13 Thread Edward Nevill
Hi Yadong,

On Fri, 2021-01-08 at 17:52 +0800, Yadong Wang wrote:
> 
> Thank you, Ed. We read these discussions before we started. And in fact, 
> we started with the Zero-Assembler port based on your initial patch.

I'm glad it was useful. I thought it had just disappeared into a black hole.

> 
> Now we have an almost complete implementation of riscv port, and then I 
> am willing to perform the project lead. In the past year, I lead our 
> riscv port implementation based on OpenJDK, and wrote the substantial 
> part. More importantly, I have a JVM team of about 30 engineers in 
> Huawei to support me. Although we're new here, we have contributed 
> nearly 90 patches to OpenJDK, and now have 1 reviewer, 1 committer, 
> several authors and a dozen contributors in the community. They are all 

Great. I am happy to support you as project lead. I would like to contribute to 
this project in whatever way I can, although this has to be a 'spare' time 
activity for me as my current job is not related to OpenJDK in any way. May I 
request you include me as a committer on this project even if I am not able to 
contribute very much.

Next thing is to get a Group Lead to sponsor the project.

Dalibor: Would you be happy to sponsor this? It seems eminently the sort of 
project the Porters group should be involved with?

All the best,
Ed





Re: openjdk riscv64 port

2021-01-08 Thread Yadong Wang

On 2020/12/30 5:02, Edward Nevill wrote:

On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:

Hi,
We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
Would the community like to help us to create a project? And then we can 
promote it stable with the community.

Yadong Wang
Huawei Technologies Co., Ltd.



Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at 
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to the 
general discussion list, discuss.at.openjdk.dot.java.dot.net with the subject line 
"Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.


.



Thank you, Ed. We read these discussions before we started. And in fact, 
we started with the Zero-Assembler port based on your initial patch.


Now we have an almost complete implementation of riscv port, and then I 
am willing to perform the project lead. In the past year, I lead our 
riscv port implementation based on OpenJDK, and wrote the substantial 
part. More importantly, I have a JVM team of about 30 engineers in 
Huawei to support me. Although we're new here, we have contributed 
nearly 90 patches to OpenJDK, and now have 1 reviewer, 1 committer, 
several authors and a dozen contributors in the community. They are all 
happy to help me. Also, there are many hardware engineers familiar with 
riscv with who we can co-worked in our company. We were also actively 
participated in many riscv isa task groups.


About future plans, we first contribute an initial riscv port of jdk11, 
latest LTS version so far, covering most of mainstream java frameworks, 
and so we can get more feedback of ecosystem participants. Adequate 
testing is the first priority, and we can co-worked with AdoptOpenJDK to 
build and distribute binaries(they contacted us and were willing to 
offer help), so that interested developers can try them ahead of time. 
The initial port can be split to 3 patches (TemplateInterpreter, C1 and 
C2) to be fully reviewed by the reviewers.


Meanwhile, the mainline version jdk/jdk is also under development and 
ready to open source after tested fully on the hardware.


By the way, AOT and Graal are not covered currently, and we can make 
plans as needed.


RE: openjdk riscv64 port

2020-12-29 Thread wangyadong (E)
Hi Ed,

We haven't test it on the Unmatched, so I don' t know the answer. And the 
unmatched board may be not available for us until Feb. 2021 at the earliest.

Yadong

-Original Message-
From: porters-dev [mailto:porters-dev-r...@openjdk.java.net] On Behalf Of 
Edward Nevill
Sent: Wednesday, December 30, 2020 5:02 AM
To: porters-dev@openjdk.java.net
Subject: Re: openjdk riscv64 port

On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:
> Hi,
>We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
> and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
> Would the community like to help us to create a project? And then we can 
> promote it stable with the community. 
> 
> Yadong Wang
> Huawei Technologies Co., Ltd.
> 

Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at 
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to 
the general discussion list, discuss.at.openjdk.dot.java.dot.net with the 
subject line "Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.




Re: openjdk riscv64 port

2020-12-29 Thread Edward Nevill
On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:
> Hi,
>We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
> and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
> Would the community like to help us to create a project? And then we can 
> promote it stable with the community. 
> 

Hi again,

In your earlier post you said this has been ported to the HiFive Unleashed 
board. However, looking at the sifive web site I see the HiFive Unleashed board 
has been discontinued.

I assume (naively) that it also runs on the HiFive Unmatched board, but before 
I shell out $679, do you know does it run on the Unmatched board.

Thanks,
Ed.




Re: openjdk riscv64 port

2020-12-29 Thread Edward Nevill
On Tue, 2020-12-29 at 02:02 +, wangyadong (E) wrote:
> Hi,
>We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
> and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
> Would the community like to help us to create a project? And then we can 
> promote it stable with the community. 
> 
> Yadong Wang
> Huawei Technologies Co., Ltd.
> 

Hi,

In order to progress this a riscv-port project will need to be created. There 
was an initial attempt to get a riscv-port project started in Feb. 2018 (see 
https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).

The process for creation of a new OpenJDK project is described at 
http://openjdk.java.net/projects/#new-project

In accordance with the OpenJDK bylaws the initial discussion should be sent to 
the general discussion list, discuss.at.openjdk.dot.java.dot.net with the 
subject line "Call for Discussion: New Project: riscv-port".

However, it may be best to have an initial discussion here on porters-dev 
before submitting the formal Call for Discussion on discuss.

The project will need a project lead who must be a Contributor and must be 
sponsored by a Group Lead. Although technically any Group Lead could sponsor 
this project, in practice it should be the Group Lead of the porters project, 
Dalibor Topic.

All the best,
Ed.




RE: openjdk riscv64 port

2020-12-28 Thread wangyadong (E)
Hi,
   We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) 
and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . 
Would the community like to help us to create a project? And then we can 
promote it stable with the community. 

Yadong Wang
Huawei Technologies Co., Ltd.

-Original Message-
From: discuss [mailto:discuss-r...@openjdk.java.net] On Behalf Of Andrew Haley
Sent: Sunday, December 27, 2020 11:47 PM
To: disc...@openjdk.java.net
Subject: Re: openjdk riscv64 port

On 12/26/20 9:03 AM, wangyadong (E) wrote:
> In the meantime, we are also developing a riscv port of the jdk-master 
> version. Is the community interested in this? We hope very much to create a 
> OpenJDK riscv-port project and make it stable before upstreaming.

Sounds good. I think the porters group would be happy to sponsor this. Head 
over to porters-dev@openjdk.java.net and we'll make plans.

--
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