Skip to content

Commit 0151da0

Browse files
authored
Merge pull request #35 from opensolvers/site-updates
Add Videos page, YouTube links, and SEO improvements
2 parents 3339cba + 13d0e82 commit 0151da0

11 files changed

Lines changed: 288 additions & 5 deletions

File tree

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1+
---
2+
title: OpenSolvers — RISC-V scientific software benchmarks
3+
description: Benchmark notes for open-source scientific libraries and applications on consumer RISC-V boards — HPL, BLAS, Quantum ESPRESSO, GROMACS, EESSI, and FlexiBLAS backend swaps.
4+
---
5+
16
OpenSolvers explores how open-source scientific software runs on real hardware — starting with **RISC-V** boards and the tools that make that practical (EESSI, OpenBLAS, and friends). This site documents what we learn along the way.
27

8+
## Videos
9+
10+
Walkthroughs on our [YouTube channel](https://www.youtube.com/@opensolvers) — see the full list on the [Videos](videos.html) page.
11+
12+
- **[1.69× HPL on VisionFive 2](https://www.youtube.com/watch?v=DS4IlzsEq9w)** — U74-tuned OpenBLAS via EESSI and FlexiBLAS (3.13 → 5.28 GFLOP/s)
13+
314
## What we're working on
415

516
We benchmark **scientific libraries** and **applications** on consumer RISC-V boards through the [EESSI](https://www.eessi.io/) stack — from BLAS kernels up to full app runs — swapping fixed OpenBLAS builds via FlexiBLAS without rebuilding downstream code.

_config.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
theme: jekyll-theme-cayman
22
title: OpenSolvers
3-
description: RISC-V learnings and fun
3+
description: Open-source scientific software benchmarks on RISC-V boards — HPL, BLAS, Quantum ESPRESSO, GROMACS, and library-level probes via EESSI.
4+
url: https://www.opensolvers.com
5+
lang: en
6+
twitter:
7+
card: summary_large_image
8+
logo: /assets/images/compute-backends.svg
49

510
navigation:
611
- title: Home
712
url: /
13+
- title: Videos
14+
url: /videos.html
15+
- title: YouTube
16+
url: https://www.youtube.com/@opensolvers
17+
external: true
818

919
navigation_boards:
1020
- title: VisionFive 2
@@ -41,3 +51,21 @@ navigation_scientific_libs:
4151
url: /scientific-libs/fftw.html
4252
- title: ScaLAPACK
4353
url: /scientific-libs/scalapack.html
54+
55+
defaults:
56+
- scope:
57+
path: ""
58+
values:
59+
layout: default
60+
- scope:
61+
path: "boards"
62+
values:
63+
layout: default
64+
- scope:
65+
path: "apps"
66+
values:
67+
layout: default
68+
- scope:
69+
path: "scientific-libs"
70+
values:
71+
layout: default

_data/videos.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# YouTube videos — add new entries here (newest first).
2+
- id: u74-hpl-visionfive2
3+
title: "1.69× HPL on RISC-V: U74-Tuned OpenBLAS on VisionFive 2 (EESSI)"
4+
description: >
5+
How we lifted HPL on a StarFive VisionFive 2 from 3.13 to 5.28 GFLOP/s without
6+
rebuilding HPL — by swapping in a SiFive U74-tuned OpenBLAS kernel through EESSI
7+
and FlexiBLAS.
8+
youtube_id: DS4IlzsEq9w
9+
date: 2026-07-18
10+
duration: PT4M38S
11+
boards:
12+
- VisionFive 2
13+
topics:
14+
- HPL
15+
- OpenBLAS
16+
- EESSI
17+
- FlexiBLAS
18+
related_pages:
19+
- title: VisionFive 2 board notes
20+
url: /boards/VisionFive2.html
21+
- title: HPL overview
22+
url: /apps/hpl.html

_includes/head-custom.html

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{% assign site_url = site.url | default: "https://www.opensolvers.com" | append: "" %}
2+
<meta property="og:site_name" content="{{ site.title | default: 'OpenSolvers' }}">
3+
<meta name="author" content="OpenSolvers">
4+
<script type="application/ld+json">
5+
{
6+
"@context": "https://schema.org",
7+
"@type": "Organization",
8+
"name": "OpenSolvers",
9+
"url": "{{ site_url }}",
10+
"description": {{ site.description | jsonify }},
11+
"sameAs": [
12+
"https://www.youtube.com/@opensolvers",
13+
"https://github.com/opensolvers"
14+
]
15+
}
16+
</script>
17+
{% if page.url == '/' or page.url == '/index.html' %}
18+
<script type="application/ld+json">
19+
{
20+
"@context": "https://schema.org",
21+
"@type": "WebSite",
22+
"name": "OpenSolvers",
23+
"url": "{{ site_url }}",
24+
"description": {{ site.description | jsonify }},
25+
"publisher": {
26+
"@type": "Organization",
27+
"name": "OpenSolvers"
28+
}
29+
}
30+
</script>
31+
{% endif %}

_includes/video-grid.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{% assign videos = include.videos | default: site.data.videos %}
2+
{% if videos and videos.size > 0 %}
3+
<div class="video-grid">
4+
{% for video in videos %}
5+
<article class="video-card" id="{{ video.id }}">
6+
<div class="video-embed">
7+
<iframe
8+
src="https://www.youtube-nocookie.com/embed/{{ video.youtube_id }}"
9+
title="{{ video.title | escape }}"
10+
loading="lazy"
11+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
12+
allowfullscreen
13+
></iframe>
14+
</div>
15+
<div class="video-card-body">
16+
<h3 class="video-card-title">
17+
<a href="https://www.youtube.com/watch?v={{ video.youtube_id }}" rel="noopener noreferrer">
18+
{{ video.title }}
19+
</a>
20+
</h3>
21+
{% if video.date %}
22+
<p class="video-card-meta"><time datetime="{{ video.date }}">{{ video.date }}</time></p>
23+
{% endif %}
24+
{% if video.description %}
25+
<p class="video-card-desc">{{ video.description }}</p>
26+
{% endif %}
27+
{% if video.boards %}
28+
<p class="video-card-tags">
29+
{% for board in video.boards %}
30+
<span class="video-tag">{{ board }}</span>
31+
{% endfor %}
32+
</p>
33+
{% endif %}
34+
{% if video.related_pages %}
35+
<ul class="video-card-links">
36+
{% for link in video.related_pages %}
37+
<li><a href="{{ link.url | relative_url }}">{{ link.title }}</a></li>
38+
{% endfor %}
39+
</ul>
40+
{% endif %}
41+
</div>
42+
<script type="application/ld+json">
43+
{
44+
"@context": "https://schema.org",
45+
"@type": "VideoObject",
46+
"name": {{ video.title | jsonify }},
47+
"description": {{ video.description | strip | jsonify }},
48+
"thumbnailUrl": "https://img.youtube.com/vi/{{ video.youtube_id }}/maxresdefault.jpg",
49+
"uploadDate": "{{ video.date }}",
50+
"duration": "{{ video.duration | default: '' }}",
51+
"embedUrl": "https://www.youtube.com/embed/{{ video.youtube_id }}",
52+
"contentUrl": "https://www.youtube.com/watch?v={{ video.youtube_id }}",
53+
"publisher": {
54+
"@type": "Organization",
55+
"name": "OpenSolvers",
56+
"url": "{{ site.url | default: 'https://www.opensolvers.com' }}"
57+
}
58+
}
59+
</script>
60+
</article>
61+
{% endfor %}
62+
</div>
63+
{% else %}
64+
<p>No videos yet.</p>
65+
{% endif %}

apps/hpl.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
title: HPL results on RISC-V boards
3+
description: High Performance Linpack cross-board summary — VisionFive 2 U74 tuning, Orange Pi RV2 and Banana Pi F3 X60 fixes, EESSI stack, and FlexiBLAS backend swaps.
4+
---
5+
16
# HPL results overview
27

38
Cross-board summary of **High Performance Linpack (HPL)** on consumer RISC-V hardware through the EESSI stack. Configs and an A/B runner (`run-hpl-ab.sh`) are in [opensolvers/benchmarks/hpl](https://github.com/opensolvers/benchmarks/tree/main/hpl).

assets/css/style.scss

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,84 @@
7171
font-size: 0.8em;
7272
opacity: 0.85;
7373
}
74+
75+
.video-grid {
76+
display: grid;
77+
gap: 2rem;
78+
margin: 1.5rem 0 2rem;
79+
}
80+
81+
.video-card {
82+
border: 1px solid #e9ebec;
83+
border-radius: 0.5rem;
84+
overflow: hidden;
85+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
86+
}
87+
88+
.video-embed {
89+
position: relative;
90+
width: 100%;
91+
aspect-ratio: 16 / 9;
92+
background: #111;
93+
}
94+
95+
.video-embed iframe {
96+
position: absolute;
97+
inset: 0;
98+
width: 100%;
99+
height: 100%;
100+
border: 0;
101+
}
102+
103+
.video-card-body {
104+
padding: 1.25rem 1.5rem 1.5rem;
105+
}
106+
107+
.video-card-title {
108+
margin: 0 0 0.35rem;
109+
font-size: 1.25rem;
110+
}
111+
112+
.video-card-title a {
113+
color: #155799;
114+
text-decoration: none;
115+
}
116+
117+
.video-card-title a:hover {
118+
text-decoration: underline;
119+
}
120+
121+
.video-card-meta {
122+
margin: 0 0 0.75rem;
123+
color: #606c71;
124+
font-size: 0.9rem;
125+
}
126+
127+
.video-card-desc {
128+
margin: 0 0 0.75rem;
129+
line-height: 1.55;
130+
}
131+
132+
.video-card-tags {
133+
margin: 0 0 0.75rem;
134+
}
135+
136+
.video-tag {
137+
display: inline-block;
138+
margin: 0 0.35rem 0.35rem 0;
139+
padding: 0.2rem 0.55rem;
140+
border-radius: 0.25rem;
141+
background: #f3f6fa;
142+
color: #155799;
143+
font-size: 0.85rem;
144+
font-weight: 600;
145+
}
146+
147+
.video-card-links {
148+
margin: 0;
149+
padding-left: 1.25rem;
150+
}
151+
152+
.video-card-links li {
153+
margin: 0.25rem 0;
154+
}

boards/VisionFive2.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1+
---
2+
title: StarFive VisionFive 2 — SiFive U74 benchmarks
3+
description: VisionFive 2 (JH7110) notes — scalar U74 OpenBLAS tuning, HPL 3.13 to 5.28 GFLOP/s via EESSI and FlexiBLAS, compute paths, and EESSI reproduction steps.
4+
---
5+
16
The StarFive VisionFive 2 board is built around the StarFive **JH7110** SoC: four **SiFive U74** cores at 1.5 GHz (`rv64gc`, scalar — no vector extension), integrated **IMG BXE-4-32 MC1** GPU (OpenCL 3.0 / Vulkan 1.2), 8 GB RAM, typically running Ubuntu 24.04.
27

38
![](vf2.jpg)
49

10+
## Video walkthrough
11+
12+
**[1.69× HPL on RISC-V: U74-Tuned OpenBLAS on VisionFive 2 (EESSI)](https://www.youtube.com/watch?v=DS4IlzsEq9w)**[all videos](../videos.html)
13+
514
## Compute paths on this board
615

716
The JH7110 has **scalar** CPU cores (U74-tuned OpenBLAS) and an integrated **GPU** — no RVV vector unit or vendor matrix extension.

robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://www.opensolvers.com/sitemap.xml

videos.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Videos
3+
description: OpenSolvers walkthrough videos — RISC-V benchmarks, EESSI, OpenBLAS tuning, and application results on consumer boards.
4+
permalink: /videos.html
5+
---
6+
7+
OpenSolvers videos on our [YouTube channel](https://www.youtube.com/@opensolvers). More walkthroughs will be added here as they are published.
8+
9+
{% include video-grid.html %}

0 commit comments

Comments
 (0)