Re: openjdk riscv64 port
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
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
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
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
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
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
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
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
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
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