Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zvfh/Zvfhmin SAIL #28

Open
2 of 13 tasks
jjscheel opened this issue Apr 11, 2023 · 29 comments
Open
2 of 13 tasks

Zvfh/Zvfhmin SAIL #28

jjscheel opened this issue Apr 11, 2023 · 29 comments
Assignees

Comments

@jjscheel
Copy link
Contributor

jjscheel commented Apr 11, 2023

Technical Group

Unprivileged Spec IC

ratification-pkg

Zvfh/Zvfhmin

Technical Liaison

Andrew Waterman

Task Category

SAIL model

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

2Q2023

Statement of Work (SOW)

Component names:
SAIL model for Zvfh and Zvfhmin

Requirements:
Extend the base vector support in RISC-V SAIL model to include support for the new Zvfh and Zvfhmin extensions

Deliverables:

  • Functional SAIL implementation

Acceptance Criteria:

  • Basic tests for the instructions pass
  • PR for SAIL submitted and merged

Projected timeframe: (best guess date)

SOW Signoffs:

  • Task group liaison sign-off
  • Development partner sign-off
  • Golden Model sign-off

Waiver

  • Freeze
  • Ratification

Pull Request Details

No response

@jjscheel
Copy link
Contributor Author

Need to find someone to help me complete the SOW content.

@jjscheel
Copy link
Contributor Author

jjscheel commented May 4, 2023

@billmcspadden-riscv, would you kindly review my SOW text in the first entry of this issue and let me know where it can or should be improved? THANKS!

@billmcspadden-riscv
Copy link

  1. Add pointers to the spec. A pointer to the github repo that holds the spec(s) would be best.
  2. In either this SOW or the ACT SOW, something needs to be said about the additions to the RISCV-Config structure that might be needed for these extensions. The statement may be: "No configuration is needed for this extension." This might include a Signoff item for the RISCV Config people.
  3. I think a list of configuration parameters for the model should be included. The TG should provide this list.
  4. More specifically, the extension names "Zvfhmin" and "Zvfh" will need to be supported when parsing the ISA string, which will enable/disable the feature in the model.

I think most of the work for these extensions will center on configurability. There is not much (any?) new functional code that will need to be added.

@jjscheel jjscheel mentioned this issue Oct 10, 2023
13 tasks
@jjscheel
Copy link
Contributor Author

Hi, @xiwang-x. I'm assigning this item to @XinlaiWan to start the discussion about whether RIOS can begin working on this now that Vector SAIL is slowing down. Please review this item and put your thoughts into this issue.

@XinlaiWan
Copy link

Hi Jeff, we'll follow the progress of this, and the development tasks will be assigned to my RIOS colleagues.

@jjscheel
Copy link
Contributor Author

Thanks, @XinlaiWan. For clarity, these extensions have already been ratified with a waiver. As such, work can begin at any time.

Please let me know who will be working on this so that myself and @billmcspadden-riscv can be of assistance with the process.

@XinlaiWan
Copy link

Hi Jeff and Bill, my RIOS colleague, Jia'ao Li @LiGaOg will work on Zvfh/Zvfhmin Sail.

@jjscheel
Copy link
Contributor Author

@XinlaiWan, thanks for the good news!

@LiGaOg, welcome. Please ensure you get Groups.IO profile by sending an email from your RIOS account to [email protected] and asking for a profile to the RISC-V Portal. After that's configured, I can ensure you get access to the proper places. Xinlai has done this so he should be able to help. Feel free to ask questions or send me an email if needed.

@LiGaOg
Copy link

LiGaOg commented Oct 24, 2023

@jjscheel Hi Jeff, I have sent the email and got the profile to RISC-V Portal. My RIOS email is [email protected].

@jjscheel
Copy link
Contributor Author

Thanks, @LiGaOg. I've sent you an invite to the devpartners team in GH. Please check the riscv-admin organization for this invite.

I've also added you to several groups in Groups.IO. These will help you track other work going on in SAIL and ACT.

For this work, please ready the information in the first entry (description) of this issue, read the spec here, and ask your questions here. @billmcspadden-riscv is our resident SAIL expert and a great resource. I will find us a technical resource to answer questions about this which stump Bill.

Please reach out to me if you have any questions.

@jjscheel jjscheel assigned LiGaOg and unassigned XinlaiWan Oct 27, 2023
@jjscheel
Copy link
Contributor Author

@LiGaOg, have you had a chance to look at this yet? If so, can you provide any status on how it is going?

@LiGaOg LiGaOg moved this from Blocked to As-planned in RISC-V DevPartner Work Nov 28, 2023
@LiGaOg
Copy link

LiGaOg commented Nov 30, 2023

@jjscheel OK, i have just finished hacking the source code of my part (sail vector part and other relevant source code). I'm planning to move Zvfh/Zvfhmin part of the whole sail vector as individual parts.

@jjscheel
Copy link
Contributor Author

@LiGaOg, how is this work coming along? Can you report any progress for me, please?

@LiGaOg
Copy link

LiGaOg commented Jan 30, 2024

@jjscheel Terribly sorry for being so late, I got tons of work to do in recent months 😭. I have completed the sail code for Zvfhmin part. I use some small self-written tests to test Zvfhmin SAIL. Currently working on some detailed tests.

@jjscheel
Copy link
Contributor Author

jjscheel commented Feb 1, 2024

Thank you, @LiGaOg. That is very good news! Usually, "no news" is "bad news". Please keep up the great work.

If you have any questions about your Sail, please reach out to @billmcspadden-riscv. And, if you don't mind posting an update every couple weeks, that will save me from bugging you. :-D

@LiGaOg
Copy link

LiGaOg commented Feb 2, 2024

@jjscheel Okay, Jeff, after the Chinese New Year holiday, I'll report back on all the work I've done in the last period, and I apologize for the lack of news, as there's been too much to focus on in recent months T_T, and I'll make sure to report back on progress every few weeks.

@jjscheel
Copy link
Contributor Author

jjscheel commented Feb 2, 2024

No worries. Happy New Year!

@LiGaOg
Copy link

LiGaOg commented Feb 20, 2024

Hi jeff @jjscheel . I have completed the very basic version of Zvfhmin. For Zvfhmin, it only supports instructions for conversion between f16 and f32/f64. So for all the relevant utils functions in riscv_insts_vext_utils.sail and riscv_insts_vext_fp.sail (like fp_add). If the width of the vector floating-point element (SEW) is 16, it will trigger an illegal instruction exception (In my implementation, I use handle_illlegal()).

As for Zvfh, I'm a little confused about the dependencies of those extensions.

  • The first question is, SAIL has already implemented Zvfh (half-precision fp arithmetic is supported). So my task is to make Zvfh decoupled from the original version (providing options to build a model without half-precision fp, with Zvfhmin, and with Zvfh).
  • The second question is, is Zvfhmin/Zvfh has relations to Zfhmin/Zfh? For example, if the floating-point extension doesn't support Zfhmin/Zfh, is it right for the vector extension to support Zvfh/Zvfhmin?

@jjscheel
Copy link
Contributor Author

@billmcspadden-riscv, can you help with Lijiaao's questions? If you cannot, let me know and we can engage someone from Unpriv IC.

@jjscheel
Copy link
Contributor Author

jjscheel commented Mar 5, 2024

@LiGaOg, per the text in the ratified version of Zvfh/Zvfhmin, I see this answer to your second question ("The second question is, is Zvfhmin/Zvfh has relations to Zfhmin/Zfh?"):

The Zvfhmin extension depends on the Zve32f extension.

The Zvfh extension depends on the Zve32f and Zfhmin extensions.

Do these statements answer your questions?

@jjscheel
Copy link
Contributor Author

@LiGaOg, did my explanation make sense about the second question in your list?

The Zvfhmin extension depends on the Zve32f extension.

The Zvfh extension depends on the Zve32f and Zfhmin extensions.

@LiGaOg
Copy link

LiGaOg commented Apr 2, 2024

Currently I'm not working in RIOS Lab, my new colleague will work on this issue. I have transferred my work to him. He'll be here soon to take over the job.

@jjscheel
Copy link
Contributor Author

jjscheel commented Apr 2, 2024

Thanks, @LiGaOg. Please provide info for colleague.

@jjscheel
Copy link
Contributor Author

@LiGaOg, any news on who will be picking up this work?

@jjscheel
Copy link
Contributor Author

@Oxyw, thanks for agreeing to look into who is going to replace LiGaOg.

@jjscheel jjscheel assigned Oxyw and unassigned LiGaOg Jul 23, 2024
@Oxyw
Copy link

Oxyw commented Jul 24, 2024

Hi, @jjscheel. This is my new colleague, Wenyu Huang @wwwwwwOwO. She will be taking over this work.

@jjscheel
Copy link
Contributor Author

Hellow Wenyu @wwwwwwOwO. Please drop me an email at [email protected] so that we can exchange some information so that you can participate. I'm happy to hear that you're willing to help!!!

@wwwwwwOwO
Copy link

Hi Jeff, I’m Wenyu^ - ^. I’ve sent an email to you, my email address is [email protected]

@jjscheel
Copy link
Contributor Author

jjscheel commented Aug 6, 2024

@wwwwwwOwO, now assigned. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: As-planned
Development

No branches or pull requests

7 participants