Skip to content

Commit a411523

Browse files
Split navigation into Boards and Apps sections.
Move HPL overview from boards/ to apps/ and update links across the site. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent a0a1beb commit a411523

8 files changed

Lines changed: 85 additions & 21 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ OpenSolvers explores how open-source scientific software runs on real hardware
44

55
We're benchmarking **High Performance Linpack (HPL)** across several consumer RISC-V boards, comparing stock and architecture-tuned builds through the [EESSI](https://www.eessi.io/) stack. On the VisionFive 2, a SiFive U74-tuned OpenBLAS lifts HPL from **3.13** to **5.28 GFLOP/s** (**1.69×**) — end-to-end via EESSI and EasyBuild.
66

7-
See the [HPL results overview](boards/hpl.html) for a cross-board summary.
7+
See the [HPL results overview](apps/hpl.html) for a cross-board summary.
88

99
## Boards
1010

1111
- **[StarFive VisionFive 2](boards/VisionFive2.html)** — JH7110 SoC, 4× SiFive U74 (`rv64gc`). EESSI HPL **3.13 → 5.28 GFLOP/s** with U74 OpenBLAS tuning.
1212
- **[OrangePi RV2](boards/RV2.html)** — Ky X1 SoC, 8× SpacemiT X60. Native-arch HPL **7.38 GFLOP/s** (EESSI: DNF, RVV bug in OpenBLAS 0.3.30).
1313
- **[BananaPi F3](boards/F3.html)** — SpacemiT K1 SoC, 8× SpacemiT X60. HPL benchmarking in progress (EESSI: DNF, RVV bug in OpenBLAS 0.3.30).
1414

15-
Use the menu above to jump straight to a board page.
15+
Use the menu above to jump to a board or app page.

_config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ description: RISC-V learnings and fun
55
navigation:
66
- title: Home
77
url: /
8+
9+
navigation_boards:
810
- title: VisionFive 2
911
url: /boards/VisionFive2.html
1012
- title: OrangePi RV2
1113
url: /boards/RV2.html
1214
- title: BananaPi F3
1315
url: /boards/F3.html
16+
17+
navigation_apps:
18+
- title: HPL
19+
url: /apps/hpl.html

_includes/header.html

Lines changed: 47 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,52 @@ <h1 class="project-name">{{ site.title | default: "OpenSolvers" }}</h1>
33
<h2 class="project-tagline">{{ site.description | default: "RISC-V learnings and fun" }}</h2>
44

55
<nav class="site-nav" aria-label="Main navigation">
6-
<ul class="site-nav-list">
7-
{% for item in site.navigation %}
8-
<li class="site-nav-item">
9-
<a
10-
href="{% if item.external %}{{ item.url }}{% else %}{{ item.url | relative_url }}{% endif %}"
11-
class="site-nav-link{% if item.external %} site-nav-link--external{% endif %}{% if page.url == item.url %} is-active{% endif %}"
12-
{% if item.external %}target="_blank" rel="noopener noreferrer"{% endif %}
13-
>
14-
{{ item.title }}
15-
</a>
16-
</li>
17-
{% endfor %}
18-
</ul>
6+
<div class="site-nav-groups">
7+
<ul class="site-nav-list">
8+
{% for item in site.navigation %}
9+
<li class="site-nav-item">
10+
<a
11+
href="{% if item.external %}{{ item.url }}{% else %}{{ item.url | relative_url }}{% endif %}"
12+
class="site-nav-link{% if item.external %} site-nav-link--external{% endif %}{% if page.url == item.url %} is-active{% endif %}"
13+
{% if item.external %}target="_blank" rel="noopener noreferrer"{% endif %}
14+
>
15+
{{ item.title }}
16+
</a>
17+
</li>
18+
{% endfor %}
19+
</ul>
20+
21+
<div class="site-nav-group">
22+
<span class="site-nav-label">Boards</span>
23+
<ul class="site-nav-list">
24+
{% for item in site.navigation_boards %}
25+
<li class="site-nav-item">
26+
<a
27+
href="{{ item.url | relative_url }}"
28+
class="site-nav-link{% if page.url == item.url %} is-active{% endif %}"
29+
>
30+
{{ item.title }}
31+
</a>
32+
</li>
33+
{% endfor %}
34+
</ul>
35+
</div>
36+
37+
<div class="site-nav-group">
38+
<span class="site-nav-label">Apps</span>
39+
<ul class="site-nav-list">
40+
{% for item in site.navigation_apps %}
41+
<li class="site-nav-item">
42+
<a
43+
href="{{ item.url | relative_url }}"
44+
class="site-nav-link{% if page.url == item.url %} is-active{% endif %}"
45+
>
46+
{{ item.title }}
47+
</a>
48+
</li>
49+
{% endfor %}
50+
</ul>
51+
</div>
52+
</div>
1953
</nav>
2054
</header>

boards/hpl.md renamed to apps/hpl.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ Cross-board summary of **High Performance Linpack (HPL)** runs on consumer RISC-
66

77
| Board | Cores | Before | After |
88
| ----- | ----- | ------ | ----- |
9-
| [StarFive VisionFive 2](VisionFive2.html) | 4× SiFive U74 | 3.13 GFLOP/s | **5.28 GFLOP/s** |
10-
| [Orange Pi RV2](RV2.html) | 8× SpacemiT X60 | FAILED (`nan`) | **10.53 GFLOP/s** |
11-
| [Banana Pi F3](F3.html) | 8× SpacemiT X60 | FAILED (`nan`) ||
9+
| [StarFive VisionFive 2](../boards/VisionFive2.html) | 4× SiFive U74 | 3.13 GFLOP/s | **5.28 GFLOP/s** |
10+
| [Orange Pi RV2](../boards/RV2.html) | 8× SpacemiT X60 | FAILED (`nan`) | **10.53 GFLOP/s** |
11+
| [Banana Pi F3](../boards/F3.html) | 8× SpacemiT X60 | FAILED (`nan`) ||
1212

1313
**Before** — stock EESSI OpenBLAS 0.3.30 on each board.
1414

assets/css/style.scss

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,30 @@
77
margin-top: 1.25rem;
88
}
99

10+
.site-nav-groups {
11+
display: flex;
12+
flex-wrap: wrap;
13+
justify-content: center;
14+
align-items: center;
15+
gap: 1rem 1.5rem;
16+
}
17+
18+
.site-nav-group {
19+
display: flex;
20+
flex-wrap: wrap;
21+
align-items: center;
22+
justify-content: center;
23+
gap: 0.5rem 0.75rem;
24+
}
25+
26+
.site-nav-label {
27+
color: rgba(255, 255, 255, 0.65);
28+
font-size: 0.8rem;
29+
font-weight: 700;
30+
letter-spacing: 0.06em;
31+
text-transform: uppercase;
32+
}
33+
1034
.site-nav-list {
1135
display: flex;
1236
flex-wrap: wrap;

boards/F3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ The BananaPi F3 uses the SpacemiT K1 SoC with 8× SpacemiT X60 cores.
88
| --- | ------ | ----- |
99
| HPL | DNF ||
1010

11-
Benchmarking in progress. **Before** (EESSI) DNF due to an RVV bug in OpenBLAS 0.3.30. See the [cross-board HPL overview](hpl.html).
11+
Benchmarking in progress. **Before** (EESSI) DNF due to an RVV bug in OpenBLAS 0.3.30. See the [HPL app overview](../apps/hpl.html).

boards/RV2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The Orange Pi RV2 is built on the SpaceMiT **K1** SoC: eight **SpacemiT X60** co
44

55
## HPL via EESSI
66

7-
See also the [cross-board HPL overview](hpl.html).
7+
See also the [HPL app overview](../apps/hpl.html).
88

99
Unlike the scalar VisionFive 2, the X60 already dispatches OpenBLAS's upstream **RVV** `RISCV64_ZVL256B` kernels from the stock EESSI stack — but OpenBLAS **0.3.30** has a bug in `gemv_n` that zeroes an uninitialized vector register, so stock EESSI **HPL fails with residual `nan`** (it can still report a plausible ~8.5 GFLOP/s; only the residual check reveals the answer is wrong).
1010

boards/VisionFive2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The StarFive VisionFive 2 board is built around the StarFive **JH7110** SoC: fou
44

55
## HPL via EESSI
66

7-
See also the [cross-board HPL overview](hpl.html).
7+
See also the [HPL app overview](../apps/hpl.html).
88

99
End-to-end benchmark on real VisionFive 2 hardware using [EESSI](https://www.eessi.io/) `2025.06-001` on the RISC-V dev stack [`dev.eessi.io/riscv`](https://www.eessi.io/docs/repositories/dev.eessi.io-riscv/). Problem size **N=10000**, block size **NB=192**, **2×2** process grid (4 MPI ranks).
1010

0 commit comments

Comments
 (0)