Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hpc-carpentry/hpc-chapel
HPC Chapel lesson materials
https://github.com/hpc-carpentry/hpc-chapel
chapel-language english hpc-carpentry hpc-carpentry-lab hpc-chapel lesson pre-alpha
Last synced: about 1 month ago
JSON representation
HPC Chapel lesson materials
- Host: GitHub
- URL: https://github.com/hpc-carpentry/hpc-chapel
- Owner: hpc-carpentry
- License: other
- Created: 2017-09-01T19:05:20.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-22T00:38:17.000Z (2 months ago)
- Last Synced: 2024-10-22T22:28:35.488Z (2 months ago)
- Topics: chapel-language, english, hpc-carpentry, hpc-carpentry-lab, hpc-chapel, lesson, pre-alpha
- Language: Makefile
- Homepage: https://hpc-carpentry.github.io/hpc-chapel/
- Size: 3.05 MB
- Stars: 12
- Watchers: 12
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION
- Codeowners: CODEOWNERS
- Authors: AUTHORS
Awesome Lists containing this project
README
# HPC Chapel
This lesson is focused on teaching the basics of high-performance computing
(HPC). There are 4 primary components to this lesson. Each component is
budgeted half a day's worth of teaching-time, resulting in a two day workshop.1. UNIX fundamentals
2. Working on a cluster
3. Programming language introduction/review
4. Introduction to parallel programmingSections 3 and 4 (programming) will feature two programming languages:
[Python](https://www.python.org/) and [Chapel](https://chapel-lang.org). There
are strong arguments for both languages, and instructors will be able to choose
which language they wish to teach in.## Topic breakdown and todo list
The lesson outline and rough breakdown of topics by lesson writer is in
[lesson-outline.md](lesson-outline.md). The topics there will be initially
generated by the lesson writer, and then reviewed by the rest of the group once
complete.## Lesson writing instructions
This is a fast overview of the Software Carpentry lesson template. This won't
cover lesson style or formatting (address that during review?).For a full guide to the lesson template, see the [Software Carpentry example
lesson](http://swcarpentry.github.io/lesson-example/).### Lesson structure
Software Carpentry lessons are generally episodic, with one clear concept for
each episode ([example](http://swcarpentry.github.io/r-novice-gapminder/)).
We've got 4 major sections, each section should be broken up into several
episodes (perhaps the higher-level bullet points from the lesson outline?).An episode is just a markdown file that lives under the `_episodes` folder.
Here is a link to a [markdown
cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
with most markdown syntax. Additionally, the Software Carpentry lesson template
uses several extra bits of formatting- see here for a [full
guide](http://swcarpentry.github.io/lesson-example/04-formatting/). The most
significant change is the addition of a YAML header that adds metadata (key
questions, lesson teaching times, etc.) and special syntax for code blocks,
exercises, and the like.Episode names should be prefixed with a number of their section plus the number
of their episode within that section. This is important because the Software
Carpentry lesson template will auto-post our lessons in the order that they
would sort in. As long as your lesson sorts into the correct order, it will
appear in the correct order on the website.### Publishing changes to GitHub + the GitHub pages website
The lesson website is viewable at
[hpc-carpentry.github.io/hpc-novice](hpc-carpentry.github.io/hpc-novice).The lesson website itself is auto-generated from the `gh-pages` branch of this
repository. GitHub pages will rebuild the website as soon as you push to the
GitHub `gh-pages` branch. Because of this `gh-pages` is considered the "master"
branch.### Previewing changes locally
Obviously having to push to GitHub every time you want to view your changes to
the website isn't very convenient. To preview the lesson locally, run `make
serve`. You can then view the website at `localhost:4000` in your browser.
Pages will be automatically regenerated every time you write to them.Note that the autogenerated website lives under the `_site` directory (and
doesn't get pushed to GitHub).This process requires Ruby, Make, and Jekyll. You can find setup instructions
[here](http://swcarpentry.github.io/lesson-example/setup/).## Example lessons
A couple links to example SWC workshop lessons for reference:
* [Example Bash lesson](https://github.com/swcarpentry/shell-novice)
* [Example Python lesson](https://github.com/swcarpentry/python-novice-inflammation)
* [Example R lesson](https://github.com/swcarpentry/r-novice-gapminder) (uses R
markdown files instead of markdown)