Thank you Yadong.
We will do the OpenJDK RV build based on [1] by leveraging the Adoptium CI 
pipeline [2] so that anybody interested in RISC-V can try this build:)
Meanwhile, we will push the further optimization patches from our side.

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

Thanks!
Sanhong
-----邮件原件-----
发件人: Yadong Wang <yadonn.w...@huawei.com> 
发送时间: 2021年5月20日 16:50
收件人: 李三红(三红) <sanhong....@alibaba-inc.com>; porters-dev@openjdk.java.net; 
edward.nev...@gmail.com
主题: 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 <yadonn.w...@huawei.com>
> 发送时间: 2021年2月20日 15:11
> 收件人: 李三红(三红) <sanhong....@alibaba-inc.com>; 
> 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 +0000, 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.
>>
>> .
>>
> 
> .
> 

Reply via email to