Using the Sail RISC-V model for emulation and testing currently has significant
downsides compared to other existing emulators for RISC-V, such as Spike or
QEMU. Specifically, the Sail-based emulators are 1000x-5000x slower, which
makes them unworkable for many applications. This is one of the main
pain-points of using the Sail model in RISC-V development.
Pydrofoil (PyPy's Sail backend) [1] significantly increases the speed of the
RISC-V Sail model. However, Pydrofoil is not currently easily usable by the
RISC-V community: it is not documented and hard to use by anyone except the
authors. In this work package we propose to provide build tooling,
documentation and testing for the RISC-V model using Pydrofoil. This is
interesting for RISC-V because it makes high-performance RISC-V Sail models
accessible to others, and will accelerate research in:
Deliverables.
Demonstrate at least 10x speed improvement booting the Linux from
RISC-V Sail repo [2] over boot time with the existing Sail-generated C
model.
Build tooling and instructions for the RISC-V Sail model with Pydrofoil
Testing and documenting running the RISC-V model on different operating
system
Setting up Continuous Integration (CI) on the repository to continuously
run the RISC-V tests from [3] in the rv32si, rv32ui, rv64si, rv64ui
variants
Dissemination:
All the work will be fully Open Source and public.
[1] github.com/cfbolz/pydrofoil
[2] https://github.com/riscv/sail-riscv/tree/master/os-boot
[3] https://github.com/riscv-software-src/riscv-tests
[4] https://www.pypy.org/blog/
[5] https://www.youtube.com/playlist?list=PLADqad94yVqDRQXuqxKrPS5QnVqbDLlRt
Discussion 11.11
Add PyPy, Sail, RISC-V-Sail as git submodules to github.com/cfbolz/pydrofoil
Create a Makefile that will provide the chain to build Pydrofoil (matti) https://github.com/cfbolz/pydrofoil/issues/17
CI
Docs
Dissemination
Competitors:
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing