Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fastcode pilot #233

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
12 changes: 6 additions & 6 deletions src/_data/metadata.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{
"tagline": "The simple way to make software fast and composable",
"author": "The OpenCilk Team",
"email": "contact@opencilk.org",
"tagline": "An open-source community dedicated to advancing software performance engineering",
"author": "The Fastcode Team",
"email": "contact@fastcode.org",
"attribution": {
"cilkplus": "This work is derived from Cilk++ documentation with permission of Intel Corporation."
},
"blog": {
"title": "Fastcode Blog",
"url": "https://opencilk.org/posts",
"url": "https://fastcode.org/posts",
"language": "en",
"description": "A blog about performance engineering",
"feed": {
"subtitle": "Featuring OpenCilk",
"filename": "feed.xml",
"path": "/feed/feed.xml",
"id": "https://opencilk.org/posts/"
"id": "https://fastcode.org/posts/"
},
"jsonfeed": {
"path": "/feed/feed.json",
"url": "https://opencilk.org/feed/feed.json"
"url": "https://fastcode.org/feed/feed.json"
}
}
}
16 changes: 7 additions & 9 deletions src/_includes/partials/navbar.njk
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<nav class="bd-header navbar navbar-expand-lg navbar-dark bd-navbar justify-content-between px-4">
<a class="navbar-brand" href="/"><img src="{{ sphinxDir }}_static/OpenCilk-icon-330.png"></a>
<nav class="bd-header navbar navbar-expand-lg navbar-dark bd-navbar justify-content-between px-4" style="font-size: 1.1rem;">
<div class="container" style="max-width: 1120px;">
<a class="navbar-brand" href="/"><img class="pr-4" src="{{ sphinxDir }}_static/OpenCilk-icon-330.png"></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample05" aria-controls="navbarsExample05" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
Expand All @@ -8,11 +9,11 @@
<ul class="navbar-nav mr-auto">
{% for entry in collections.all | eleventyNavigation("Home") %}
{% if page.url == entry.url %}
<li class="nav-item active">
<li class="nav-item active px-2">
<a class="nav-link active" aria-current="page" href="{{ entry.url | url }}">{{ entry.title }}</a>
</li>
{% else %}
<li class="nav-item">
<li class="nav-item px-2">
<a class="nav-link" href="{{ entry.url | url }}">{{ entry.title }}</a>
</li>
{% endif %}
Expand All @@ -28,11 +29,8 @@
</span>
</div>
<div class="navbar-end-item navbar-end__search-button-container">
<form class="form-inline my-2 my-md-0">
<div class="w-64">
<div id="search"></div>
</div>
</form>

</div>
</div>
</div>
</nav>
2 changes: 1 addition & 1 deletion src/_includes/partials/sidebar-toc.njk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% set navPages = ['Blog', 'Documentation', 'Community', 'About us', 'Contribute'] %}
{% set navPages = ['About', 'Get involved', 'Blog', 'Events'] %}
{% if eleventyNavigation.key in navPages %}
{% set context = eleventyNavigation.key %}
{% else %}
Expand Down
8 changes: 6 additions & 2 deletions src/_includes/posts_cards.njk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
<div class="row p-2 no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative" style="background-color: var(--pst-color-surface);">
<div class="col-9 d-flex flex-column position-static">
<a href="{{ post.url | url }}"><h3 class="font-weight-bold mt-0 mb-0">{{ post.data.title }}</h3></a>
<div class="mb-1 text-muted">{{ post.data.date | readableDate }} &mdash; By {{ post.data.author }}</div>
{% if post.data.date %}
<div class="mb-1 text-muted">{{ post.data.date | readableDate }} &mdash; By {{ post.data.author }}</div>
{% endif %}
{% if post.data.tagline %}
<p class="mb-auto">{{ post.data.tagline | markdownify | safe }}</p>
{% endif %}
Expand All @@ -16,7 +18,9 @@
</normal>
</div>
<div class="col-3 h-100 m-0 p-0 overflow-hidden">
<img class="img-fluid" src="{{ post.data.image }}"/>
{% if post.data.image %}
<img class="img-fluid" src="{{ post.data.image }}"/>
{% endif %}
</div>
</div>
</div>
Expand Down
59 changes: 0 additions & 59 deletions src/about-us.md

This file was deleted.

9 changes: 9 additions & 0 deletions src/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
eleventyNavigation:
key: About
parent: Home
order: 1
url: /about/about_spe/
---

Dummy install puts "About" in navbar as a link to the about SPE page
20 changes: 20 additions & 0 deletions src/about/about_fastcode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: layouts/page.njk
stylesheet: None
background: bg-white
sidebar: toc
title: About Fastcode
eleventyNavigation:
key: About Fastcode
parent: About
order: 2
date: 2022-07-05T16:59:41.487Z
---

## An open-source community

Fastcode is an open-source community dedicated to advancing software performance engineering (SPE) -- making software run fast or otherwise consume few resources such as time, storage, and energy.

## Focusing on research and education

To help get the community started, Fastcode has an "academic-first" strategy. By capturing the hearts and minds of students learning about parallel computing and software performance engineering, we can help software developers cope with the end of Moore’s Law.
55 changes: 55 additions & 0 deletions src/about/about_spe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
layout: layouts/page.njk
stylesheet: None
background: bg-white
sidebar: toc
title: About software performance engineering (SPE)
eleventyNavigation:
key: About SPE
parent: About
order: 1
date: 2022-07-05T16:59:41.487Z
---
{% alert "note", "Software performance engineering (SPE):" %}
Making software run fast or otherwise consume few resources such as time, storage, energy, network bandwidth, etc.
{% endalert %}

## A field whose time has come (again)

In the mid-20th century, when "computer" took its modern machine-based meaning, software performance engineering was a big deal. For example, the Apollo 11 missions used guidance computers with 4KB of RAM and 32KB hard disks. Getting astronauts to the moon and back under those constraints required serious brilliance from the engineers at NASA.

Then, Moore's Law kicked in. "The number of transitiors per integrated circuit shall double every two years." For over five decades, software developers enjoyed "free" performance gains thanks to this windfall.

But no more!

Since 2018 (or so), developers have had to "work" for performance gains, which no longer come for free from the chip-makers. Of all the ways to improve application performance -- e.g., hardware architecture, algorithms -- software performance engineering is by far the least inexpensive and most accessible.

## OpenCilk

For application developers to cope with the end of Moore's Law, they must embrace software performance engineering (SPE) and all its constituent technologies: parallel programming, vectorization, caching, algorithms, compiler optimization, etc. The OpenCilk task-parallel platform greatly simplifies parallel programming, arguably the most difficult of these technologies and the one with the greatest potential. But without a more general knowledge of SPE, programmers cannot effectively exploit the full capabilities of modern multicore computers. The Fastcode OSE for OpenCilk will enable researchers to advance our understanding of SPE and parallel programming, providing the next generation of researchers and software developers with principled and scientific foundations for obtaining application performance in the post-Moore era.

## Notable techniques of SPE
- parallelism
- vectorization
- caching
- algorithms
- data structuring
- compiler optimization
- and more.

## Notable tools of SPE
- high-resolution timers
- performance profilers
- memory analyzers
- scalability analyzers
- race detectors
- and more.

## Theoretical foundations of SPE
- task-parallel scheduling
- work/span analysis
- reuse distance
- cache-oblivious algorithms
- data structures
- and more.

7 changes: 4 additions & 3 deletions src/blog.njk
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ sidebar: blog
permalink: /posts/
eleventyNavigation:
key: Blog
order: 2
order: 7
parent: Home
---

<p><strong class="codefont">Performance engineering:</strong> making software run fast or otherwise consume few resources, such as time, storage, energy, network bandwidth, etc.</p>
{% alert "note", "Wanted: your SPE story" %}
Would you like to share your perspective on software performance engineering? Contact us, and let Fastcode promote your contributions to SPE.
{% endalert %}

<div class="container py-3" id="featured-3">
<div class="row g-2">
Expand Down
36 changes: 0 additions & 36 deletions src/community.md

This file was deleted.

54 changes: 0 additions & 54 deletions src/community/community.11tydata.js

This file was deleted.

8 changes: 0 additions & 8 deletions src/community/community.json

This file was deleted.

22 changes: 0 additions & 22 deletions src/community/resources.md

This file was deleted.

Loading