-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
63 lines (60 loc) · 4.94 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Accelerating software development for emerging ISA extensions with cloud-based FPGAs: RVV case study</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.0/github-markdown.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<style>
body {
margin: 0;
}
.markdown-body-content {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}
@media (max-width: 767px) {
.markdown-body-content {
padding: 15px;
}
}
.markdown-body {
--base-size-8: 8px;
--base-size-16: 16px;
}
</style>
</head>
<body class="markdown-body">
<article class="markdown-body-content"><h1>Accelerating software development for emerging ISA extensions with cloud-based FPGAs: RVV case study</h1>
<p><em>Authors:</em> Marek Pikuła, Marek Szyprowski (Samsung R&D Institute Poland)</p>
<blockquote>
<p>The RISC-V Vector Extension (RVV) promises an enhanced performance and power efficiency across various complex computational tasks. However, the efficient utilization of RVV demands careful consideration of the optimization approach. This article examines strategies for accelerating this process. Key challenges include assessing performance differences among algorithmic approaches and overcoming initial hardware constraints. FireSim provides a comprehensive solution by offering advanced software and hardware simulation capabilities. Utilizing FireSim, we started the process of enhancing source code with RVV instructions (called vectorization) for the pixman project. Our experience outlines the efficacy of a cloud-based FPGA simulation in expediting software development for emerging ISA extensions. Overall, FireSim facilitates faster iteration cycles and informed design decisions, benefiting individual developers and fostering collaboration in remote teams.</p>
</blockquote>
<h2>Resources</h2>
<p>On this website you can find all resources for my poster submission for <a href="https://riscv-europe.org/summit/2024/" rel="nofollow"><em>RISC-V Summit Europe 2024</em></a> and <a href="https://fossi-foundation.org/orconf/2024" rel="nofollow"><em>ORConf 2024</em></a>:</p>
<ul>
<li><a href="https://github.com/MarekPikula/RISC-V-Summit-Europe-2024">GitHub repository with all resources</a></li>
<li><a href="abstract/index.html">Extended abstract</a> (<a href="abstract/abstract.pdf">PDF version</a>)</li>
<li><a href="poster/poster.pdf">Poster (PDF)</a></li>
<li><a href="https://youtu.be/04YZcZ8E_jg" rel="nofollow">ORConf 2024 main talk</a> (<a href="presentation/2024-09-14-orconf-presentation.pdf">slides</a>)</li>
<li><a href="https://youtu.be/Xm_kUVhMBdw?t=766" rel="nofollow">ORConf 2024 lightning talk</a> (<a href="presentation/2024-09-14-orconf-lightning-talk.pdf">slides</a>, title: <em>CI setup for multi-platform software project</em>)</li>
</ul>
<p>You can read my RISC-V Summit Europe 2024 summary with some more information about this project on my <a href="https://serenitycode.dev/post/2024/06/riscv-summit-europe" rel="nofollow">blog</a>.</p>
<h2>Code</h2>
<p>The following repositories were modified in process of this project:</p>
<ul>
<li><a href="https://github.com/MarekPikula/chipyard/tree/ara-integration">Chipyard</a></li>
<li><a href="https://github.com/MarekPikula/firesim/tree/ara-integration">FireSim</a></li>
<li><a href="https://github.com/MarekPikula/pulp-ara/tree/chipyard-integration">PULP Ara</a></li>
<li><a href="https://github.com/Samsung/chipyard-ara-wrapper">PULP Ara Chipyard wrapper</a></li>
<li><a href="https://github.com/MarekPikula/FireMarshal">FireMarshal</a></li>
</ul>
<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>All repositories are available as submodules in the <code class="notranslate">code</code> directory.</p>
</div>
<h2>Benchmarks</h2>
<p>In order to assess performance of PULP Ara, <a href="https://github.com/camel-cdr/rvv-bench">rvv-bench</a> was used. Results are available <a href="benchmarks/rvv-bench-results/pulp_ara/index.html">here</a>. It uses a modified <a href="https://github.com/MarekPikula/rvv-bench/tree/pulp-ara">rvv-bench</a> suite.</p></article>
</body>
</html>