-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Optimization #401
Comments
Where is this project coming from? Do you have a mentor you can ask these kinds of questions? |
In next week's 'tech-golden-model' group meeting, there will be a presentation on exactly this topic by someone who has been working for some time on a JIT compiler for the Sail RISC-V model, with reportedly substantial performance improvement. If you or your organization are members of RVI (RISC-V International), you can join the 'tech-golden-model' group and attend the meeting, and connect with the speaker. |
I need to clarify that this is my graduation project, and my mentor advised me to ask this question to the developers. For example, one of the students in our department has already defended his thesis on a similar topic. In this work, the author used low-level optimizations to speed up emulation, such as optimizations for string operations, as well as the use of alternative system call implementations in libc. I'm interested in what other alternative approaches can be used to speed up the Sail emulator. |
I've looked into this a fair bit. Here are some things that I found to speed it up, all found via profiling the C emulator using gperftools. All but the last are changes to the model code rather than Sail itself.
|
TLB change is here: #498 Anyway I'll close this since it's a question and I think it has been answered: the main optimisation to do is switch between GMP and Btw there is also the Pydrofoil project which uses the Pypy JIT to run Sail code much faster than the current C output (I would guess mainly because it already has that optimisation due to Python integers being arbitrary precision). |
Hi, I am currently working on the following project: optimizing the Sail emulator for RISC-V. Couldn't you suggest what could theoretically be changed to speed up the execution of programs, what possible optimizations can be applied? Thanks in advance for your recommendations
The text was updated successfully, but these errors were encountered: