riscv-collab / riscv-gnu-toolchain

GNU toolchain for RISC-V, including GCC
Other
3.42k stars 1.13k forks source link

Executing my targeted workload on spike RISC-V ISA after adding custom trigonometric Instructions #1518

Closed baul-iisc closed 1 month ago

baul-iisc commented 1 month ago

Hello Team,

I hope this message finds you well.

I am seeking assistance with adding new instructions to the RISC-V ISA in order to characterize and test my targeted workloads. After consulting various sources, and with support from the RISC-V community, I have successfully added these instructions to the Spike binutils.

However, I am unsure where to implement these trigonometric micro-operations within the Spike simulator to execute my targeted workload. I would greatly appreciate it if you could provide guidance on the end-to-end process of adding new instructions to the Spike RISC-V ISA to ensure proper execution of the workload.

Your assistance in this matter would be immensely valuable.

Thank you for your time and support.

Best regards, Mr. BOUL CHANDRA GARAI

TommyMurphyTM1234 commented 1 month ago

Also asked here:

This is a question about Spike and not riscv-isa-sim so should probably be asked over there and not here:

In fact, I'm pretty sure that existing open or closed issues there probably already cover this topic.

TommyMurphyTM1234 commented 1 month ago

Any update @baul-iisc?

baul-iisc commented 1 month ago

Thank you, I have gone through all the references you had provided. But I am still unable to figure it out the full end-to-end procedures, which provides what are all the modifications are required to the spike riscv-toolchain, so that my targeted workload can execute on the riscv spike simulator with these newly added trigonometric instructions. It will be really helpful if someone can help me on this. Thank you inanticipations.


From: Tommy Murphy @.> Sent: Thursday, July 25, 2024 12:48 PM To: riscv-collab/riscv-gnu-toolchain @.> Cc: Boul Chandra Garai @.>; Mention @.> Subject: Re: [riscv-collab/riscv-gnu-toolchain] Executing my targeted workload on spike RISC-V ISA after adding custom trigonometric Instructions (Issue #1518)

External Email

Any update @baul-iischttps://github.com/baul-iisc?

— Reply to this email directly, view it on GitHubhttps://github.com/riscv-collab/riscv-gnu-toolchain/issues/1518#issuecomment-2249627064, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BF54XBF74OR2ONP47R7TDPLZOCRD7AVCNFSM6AAAAABLJ62GEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGYZDOMBWGQ. You are receiving this because you were mentioned.Message ID: @.***>

TommyMurphyTM1234 commented 1 month ago

Thank you, I have gone through all the references you had provided. But I am still unable to figure it out the full end-to-end procedures, which provides what are all the modifications are required to the spike riscv-toolchain

There is no such thing as "the spike riscv-toolchain". Your issue seems to be with modifying Spike.

However, I am unsure where to implement these trigonometric micro-operations within the Spike simulator to execute my targeted workload.

In which case you need to ask about that in the Spike community/GitHub repo and not here on the riscv-gnu-toolchain repo.

TommyMurphyTM1234 commented 1 month ago

I don't know how to to date or not these are but they may provide some guidance:

baul-iisc commented 1 month ago

Thank you for your response. I have reviewed the details provided here regarding the addition of new instructions in Spike and Gem5, I had seen also, but this is giving the details about adding the new instructions on spike and gem5 . However, I am specifically looking for the steps required to compile my workload in Spike and Gem5 with these newly added instructions and then characterize the workload to evaluate the performance impact of these instructions. I would greatly appreciate it if someone could provide guidance on how to compile code that utilizes these newly added instructions and execute it on Spike pk to characterize the workload. Thank you in advance for your assistance.


From: Tommy Murphy @.> Sent: Thursday, July 25, 2024 1:30 PM To: riscv-collab/riscv-gnu-toolchain @.> Cc: Boul Chandra Garai @.>; Mention @.> Subject: Re: [riscv-collab/riscv-gnu-toolchain] Executing my targeted workload on spike RISC-V ISA after adding custom trigonometric Instructions (Issue #1518)

External Email

I don't know how to to date or not this is but it may provide some guidance:

— Reply to this email directly, view it on GitHubhttps://github.com/riscv-collab/riscv-gnu-toolchain/issues/1518#issuecomment-2249702969, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BF54XBAEIG7BE2TYJLLLQ5LZOCWDLAVCNFSM6AAAAABLJ62GEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZG4YDEOJWHE. You are receiving this because you were mentioned.Message ID: @.***>

TommyMurphyTM1234 commented 1 month ago

However, I am specifically looking for the steps required to compile my workload in Spike and Gem5 with these newly added instructions and then characterize the workload to evaluate the performance impact of these instructions.

As I've already said, these are issues/questions that you really need to raise in the Spike (and Gem5) forums and not here on the riscv-gnu-toolchain repo.

If you want to compile code that uses custom instructions then you need to use inline assembler to invoke your instructions

or else make even more extensive changes to the toolchain to automatically generate your custom instructions when certain high level language/intermediate code patterns are detected. This is way outside the scope of the riscv-gnu-toolchain repo.

baul-iisc commented 1 month ago

Thank you Tommy, Would you please share the spike community email, where I can raise my request?


From: Tommy Murphy @.> Sent: Thursday, July 25, 2024 2:00 PM To: riscv-collab/riscv-gnu-toolchain @.> Cc: Boul Chandra Garai @.>; Mention @.> Subject: Re: [riscv-collab/riscv-gnu-toolchain] Executing my targeted workload on spike RISC-V ISA after adding custom trigonometric Instructions (Issue #1518)

External Email

However, I am specifically looking for the steps required to compile my workload in Spike and Gem5 with these newly added instructions and then characterize the workload to evaluate the performance impact of these instructions.

As I've already said, these are issues/questions that you really need to raise in the Spike (and Gem5) forums and not here on the riscv-gnu-toolchain repo.

— Reply to this email directly, view it on GitHubhttps://github.com/riscv-collab/riscv-gnu-toolchain/issues/1518#issuecomment-2249763994, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BF54XBF6P4N3WLTE3QWKGLTZOCZTLAVCNFSM6AAAAABLJ62GEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZG43DGOJZGQ. You are receiving this because you were mentioned.Message ID: @.***>

TommyMurphyTM1234 commented 1 month ago

Thank you Tommy, Would you please share the spike community email, where I can raise my request?

TommyMurphyTM1234 commented 1 month ago

Closing this as it's essentially a question about Spike and not riscv-gnu-toolchain.