diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..8e22041 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,34 @@ +name: Deploy +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install mdbook + run: | + mkdir mdbook + curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook + echo `pwd`/mdbook >> $GITHUB_PATH + - name: Deploy GitHub Pages + run: | + # This assumes your book is in the root of your repository. + # Just add a `cd` here if you need to change to another directory. + mdbook build + git worktree add gh-pages + git config user.name "Deploy from CI" + git config user.email "" + cd gh-pages + # Delete the ref to avoid keeping history. + git update-ref -d refs/heads/gh-pages + rm -rf * + mv ../book/* . + git add . + git commit -m "Deploy $GITHUB_SHA to gh-pages" + git push --force --set-upstream origin gh-pages \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..e5c42ab --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,21 @@ +name: CI +on: [push, pull_request] + +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Install Rust + run: | + rustup set profile minimal + rustup toolchain install stable + rustup default stable + - name: Install mdbook + run: | + mkdir bin + curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin + echo "$(pwd)/bin" >> $GITHUB_PATH + - name: Run tests + run: mdbook test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 259148f..566d130 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ *.exe *.out *.app + +# mdBook Output +book diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..609e99d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,132 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[INSERT CONTACT METHOD]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..9248a66 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,94 @@ +# Contributing + +Thank you for taking the time to contribute. +Any and all contributions are always very much appreciated. However, to make sure the process of accepting patches goes for everyone (especially for the maintainer), you should try to follow these few simple guidelines when you contribute: + +## Prerequisites + +1. [rustup](https://www.rust-lang.org/tools/install) - for the Rust compiler and Cargo +2. [mdBook](https://rust-lang.github.io/mdBook/) - Book generation tool + +## Steps to Contribute + +1. Fork the repository. +2. Create a new branch based on the `dev` branch (`git checkout -b dev`). + If your contribution is a bug fix, you should name your branch `bugfix/xxx`; + for a feature, it should be `feature/xxx` etc. Otherwise, just use your good + judgment. Consistent naming of branches is appreciated since it makes the + output of `git branch` easier to understand with a single glance. +3. Do your modifications on that branch. +4. Make sure your modifications did not break anything by building and verifying the output using: + + ```sh + mdbook serve --open + ``` + +5. Commit your changes. Your commit message should start with a one line + short description of the modifications, with the details and explanations + of your modifications following in subsequent paragraphs or bullet points. If you address an issue, create a subtitle with the issues number and title followed by the changes involved in resolving the issue. + Please limit your lines to about 78 characters in commit messages, since + it makes the output easier to read in `git log`. Also, starting your commit + message with a tag describing the nature of the commit is nice, since it + makes the commit history easier to skim through. For commits that do not + change any functionality (e.g. refactoring or fixing typos), the `[NFC]` + tag (No Functionality Change) can be used. Here's an example of an + acceptable commit message: + + ```txt + [TAG] Refactor the interface + + - Rename elem to contains + - Rename subset to is_subset, and make is_subset applicable in infix notation + + Issue (#12) - Add an at `at_key` method: + - Added the `at_key` method + - operator[] is now bound to at_key instead of find + ``` + + When applicable, please squash adjacent _wip_ commits into a single _logical_ commit. + If your contribution has several logical commits, it's fine. +6. Push the changes to your fork (`git push origin `). +7. Open a pull request against the package's `dev` branch (not against `main`). + +We will do my best to respond in a timely manner. I might discuss your patch and suggest some modifications, or I might amend your patch myself and ask you for feedback. +You will always be given proper credit. + +## Style guide + +Markdown uses the CommonMark style guide for the most part however, certain exceptions are allowed for customizing the style. It is a guide for a reason. + +- Any code example should have a corresponding example link that is either a full file/project or a link to an external compiler (eg. Godbolt). +- Any free standing or example links that are related should be put in a bullet-list and separate unrelated links by a empty line. +- Reserve the use of quote blocks (lines beginning with `>` in Markdown) for side notes relating to content or examples + +For C content such as examples: + +- Indent using 4 spaces. +- Do not leave trailing white spaces at the end of lines, and no more than a + single newline at the end of a source file. +- A definition blocks' initial brace should start on a newline, not trail off the declaration. + +For C++ content such as examples: + +- Indent using 4 spaces. +- Do not leave trailing white spaces at the end of lines, and no more than a + single newline at the end of a source file. +- A definition blocks' initial brace should start on a newline, not trail off the declaration. +- Prefer direct initialisation (`{}` over `=`) over assignment initialisation, especially for primitive types. +- Prefer brace-based initialisation for invoking a types constructor. +- Use spaces on either side of constructor arguments when using braces (eg. `int{ _ }`). +- Use `auto` as variable introducer and declare type explicitly in the brace initialiser or on right-hand-side of the assignment. +- Prefer trailing return types on functions over prefixed notation. +- Prefer to separate functions declarations (eg. `constexpr auto`), signature, constant and reference qualifiers (classes), `noexcept` specification and return type on separate lines if function declaration gets too long. Indent the constant and references qualifiers, `noexcept` specification and return type if they are on a newline. + +```cxx +constexpr auto +really_long_function_signature(that_takes lots_of_arguments, with_really long_names, for_types and_arguments) + noexcept( noexcept(long_noexcept_specification) && noexcept(with_multiple_conditions) ) + -> a_really_long_return_type, template_type> +{} +``` + +- Indent `requires` clauses and `requires` expressions. +- `#include` should be sorted in alphabetical order. +- Mostly use your own judgment and stick to the style of the existing and surrounding code. diff --git a/README.md b/README.md index 4f574ca..b84b877 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ -# HPC-Training -HPC Training Content +# The HPC Training Book + +This repository contains the source code for the HPC Training content and challenges for new HPC recruits. This book is available online or can be built locally. + +## Building + +To build this book you need [mdBook](https://rust-lang.github.io/mdBook/index.html) a tool for creating books with Markdown. mdBook can be installed using Cargo - Rust's package manager. + +```sh +$ cargo install mdbook +``` + +You can build this book you must clone this repository using Git. You can then build it and even serve it to localhost to view in your browser. The serve command will produce a localhost you can view. + +```sh +$ git clone https://github.com/MonashDeepNeuron/HPP.git +$ cd HPP + +# Build ... +$ mdbook build + +# ... or serve build and serve locally +$ mdbook serve --open +``` + +## Contributors + +- Tyler Swann +- Ankita Gosavi +- Nikhil Kannachel +- Mitchell Mibus + +## Code of Conduct, License & Contributing + +Refer to the [Code of Conduct](/CODE_OF_CONDUCT.md) and the [License](/LICENSE) for this repository for the expected behavior of contributors and users of the repository. If you have any concerns reach out to me (Tyler Swann) on Teams or follow standard M procedures for issues you are having within the team, branch or MDN. If you wish to contribute, follow the [contributing guide](/CONTRIBUTING.md). diff --git a/book.toml b/book.toml new file mode 100644 index 0000000..421a735 --- /dev/null +++ b/book.toml @@ -0,0 +1,15 @@ +[book] +authors = [ + "oraqlle (aka Tyler Swann)" +] +title = "HPC Training" +description = "Monash DeepNeuron's HPC Training Content" + +language = "en" +multilingual = false + +src = "src" + +[output.html] +mathjax-support = true +git-repository-url = "https://github.com/MonashDeepNeuron/HPC-Training" diff --git a/src/SUMMARY.md b/src/SUMMARY.md new file mode 100644 index 0000000..1f35e94 --- /dev/null +++ b/src/SUMMARY.md @@ -0,0 +1,49 @@ +# Summary + +[Welcome](home.md) + +- [Getting Started](./chapter1/chapter1.md) + - [Windows](./chapter1/windows.md) + - [Mac](./chapter1/mac.md) + - [Linux](./chapter1/linux.md) + - [WSL](./chapter1/wsl.md) + - [GitHub](./chapter1/github.md) + - [M3](./chapter1/m3.md) + +- [Brief Introduction to C](./chapter2/intro-to-c.md) + - [Hello World](./chapter2/helloworld.md) + - [Header & Source Files](./chapter2/files.md) + - [Compilers & Linkers](./chapter2/compiler.md) + - [Types & Variables](./chapter2/vars.md) + - [Control Flow](./chapter2/ctrl-flow.md) + - [Loops](./chapter2/loops.md) + - [Functions](./chapter2/functions.md) + - [Arrays & Strings](./chapter2/array.md) + - [Pointers & Memory](./chapter2/memory.md) + - [Structures](./chapter2/structs.md) + - [Macros & The Preprocessor](./chapter2/macros.md) + - [The Standard Library](./chapter2/stdlib.md) + - [Challenges](./chapter2/challenges.md) + +- [M3](./chapter3/chapter3.md) + - [Logging In](./chapter3/login.md) + - [Linux Commands](./chapter3/linux-cmds.md) + - [Compiling](./chapter3/compiling.md) + - [M3's Shared Filesystem](./chapter3/shared-fs.md) + - [Bash Scripts](./chapter3/bash.md) + - [Job batching & SLURM](./chapter3/slurm.md) + - [Challenges](./chapter3/challenges.md) + +- [Parallel Computing](./chapter4/chapter4.md) + - [What is Parallel Computing?](./chapter4/parallel-computing.md) + - [Shared Memory Resources](./chapter4/shared-memory.md) + - [Multithreading](./chapter4/multithreading.md) + - [OpenMP](./chapter4/openmp.md) + - [Challenges](./chapter4/challenges.md) + +- [Distributed Computing](./chapter5/chapter5.md) + - [What is Distributed Computing](./chapter5/distrubuted-computing.md) + - [Message Passing](./chapter5/message-passing.md) + - [OpenMPI](./chapter5/openmpi.md) + +[Acknowledgements](./acknowledgements.md) diff --git a/src/acknowledgements.md b/src/acknowledgements.md new file mode 100644 index 0000000..de67a3a --- /dev/null +++ b/src/acknowledgements.md @@ -0,0 +1 @@ +# Acknowledgements diff --git a/src/chapter1/chapter1.md b/src/chapter1/chapter1.md new file mode 100644 index 0000000..bad5562 --- /dev/null +++ b/src/chapter1/chapter1.md @@ -0,0 +1 @@ +# Getting Started diff --git a/src/chapter1/github.md b/src/chapter1/github.md new file mode 100644 index 0000000..c27f953 --- /dev/null +++ b/src/chapter1/github.md @@ -0,0 +1 @@ +# GitHub diff --git a/src/chapter1/linux.md b/src/chapter1/linux.md new file mode 100644 index 0000000..fc7d8aa --- /dev/null +++ b/src/chapter1/linux.md @@ -0,0 +1 @@ +# Linux Setup diff --git a/src/chapter1/m3.md b/src/chapter1/m3.md new file mode 100644 index 0000000..3152926 --- /dev/null +++ b/src/chapter1/m3.md @@ -0,0 +1 @@ +# M3 diff --git a/src/chapter1/mac.md b/src/chapter1/mac.md new file mode 100644 index 0000000..3f37b3a --- /dev/null +++ b/src/chapter1/mac.md @@ -0,0 +1 @@ +# Mac Setup diff --git a/src/chapter1/windows.md b/src/chapter1/windows.md new file mode 100644 index 0000000..3e7d02a --- /dev/null +++ b/src/chapter1/windows.md @@ -0,0 +1 @@ +# Windows Setup diff --git a/src/chapter1/wsl.md b/src/chapter1/wsl.md new file mode 100644 index 0000000..c161cd4 --- /dev/null +++ b/src/chapter1/wsl.md @@ -0,0 +1 @@ +# WSL Setup diff --git a/src/chapter2/array.md b/src/chapter2/array.md new file mode 100644 index 0000000..86b6a5c --- /dev/null +++ b/src/chapter2/array.md @@ -0,0 +1 @@ +# Arrays & Strings diff --git a/src/chapter2/challenges.md b/src/chapter2/challenges.md new file mode 100644 index 0000000..9358534 --- /dev/null +++ b/src/chapter2/challenges.md @@ -0,0 +1 @@ +# Challenges diff --git a/src/chapter2/compiler.md b/src/chapter2/compiler.md new file mode 100644 index 0000000..1dd8240 --- /dev/null +++ b/src/chapter2/compiler.md @@ -0,0 +1 @@ +# Compilers & Linkers diff --git a/src/chapter2/ctrl-flow.md b/src/chapter2/ctrl-flow.md new file mode 100644 index 0000000..0ca4f25 --- /dev/null +++ b/src/chapter2/ctrl-flow.md @@ -0,0 +1 @@ +# Control Flow diff --git a/src/chapter2/files.md b/src/chapter2/files.md new file mode 100644 index 0000000..4af5d04 --- /dev/null +++ b/src/chapter2/files.md @@ -0,0 +1 @@ +# Header & Source Files diff --git a/src/chapter2/functions.md b/src/chapter2/functions.md new file mode 100644 index 0000000..0c5faf5 --- /dev/null +++ b/src/chapter2/functions.md @@ -0,0 +1 @@ +# Functions diff --git a/src/chapter2/helloworld.md b/src/chapter2/helloworld.md new file mode 100644 index 0000000..2965834 --- /dev/null +++ b/src/chapter2/helloworld.md @@ -0,0 +1 @@ +# Hello World diff --git a/src/chapter2/intro-to-c.md b/src/chapter2/intro-to-c.md new file mode 100644 index 0000000..5344dd6 --- /dev/null +++ b/src/chapter2/intro-to-c.md @@ -0,0 +1 @@ +# Brief Introduction to C diff --git a/src/chapter2/loops.md b/src/chapter2/loops.md new file mode 100644 index 0000000..4b787b4 --- /dev/null +++ b/src/chapter2/loops.md @@ -0,0 +1 @@ +# Loops diff --git a/src/chapter2/macros.md b/src/chapter2/macros.md new file mode 100644 index 0000000..086faf4 --- /dev/null +++ b/src/chapter2/macros.md @@ -0,0 +1 @@ +# Macros & The Preprocessor diff --git a/src/chapter2/memory.md b/src/chapter2/memory.md new file mode 100644 index 0000000..72b7dfa --- /dev/null +++ b/src/chapter2/memory.md @@ -0,0 +1 @@ +# Pointers & Memory diff --git a/src/chapter2/stdlib.md b/src/chapter2/stdlib.md new file mode 100644 index 0000000..80b1028 --- /dev/null +++ b/src/chapter2/stdlib.md @@ -0,0 +1 @@ +# The Standard Library diff --git a/src/chapter2/structs.md b/src/chapter2/structs.md new file mode 100644 index 0000000..9852861 --- /dev/null +++ b/src/chapter2/structs.md @@ -0,0 +1 @@ +# Structures diff --git a/src/chapter2/vars.md b/src/chapter2/vars.md new file mode 100644 index 0000000..584bc9c --- /dev/null +++ b/src/chapter2/vars.md @@ -0,0 +1 @@ +# Types & Variables diff --git a/src/chapter3/bash.md b/src/chapter3/bash.md new file mode 100644 index 0000000..6700959 --- /dev/null +++ b/src/chapter3/bash.md @@ -0,0 +1 @@ +# Bash Scripts diff --git a/src/chapter3/challenges.md b/src/chapter3/challenges.md new file mode 100644 index 0000000..9358534 --- /dev/null +++ b/src/chapter3/challenges.md @@ -0,0 +1 @@ +# Challenges diff --git a/src/chapter3/chapter3.md b/src/chapter3/chapter3.md new file mode 100644 index 0000000..3152926 --- /dev/null +++ b/src/chapter3/chapter3.md @@ -0,0 +1 @@ +# M3 diff --git a/src/chapter3/compiling.md b/src/chapter3/compiling.md new file mode 100644 index 0000000..6d6a98c --- /dev/null +++ b/src/chapter3/compiling.md @@ -0,0 +1 @@ +# Compiling diff --git a/src/chapter3/linux-cmds.md b/src/chapter3/linux-cmds.md new file mode 100644 index 0000000..b148553 --- /dev/null +++ b/src/chapter3/linux-cmds.md @@ -0,0 +1 @@ +# Linux Commands diff --git a/src/chapter3/login.md b/src/chapter3/login.md new file mode 100644 index 0000000..40f7307 --- /dev/null +++ b/src/chapter3/login.md @@ -0,0 +1 @@ +# Logging In diff --git a/src/chapter3/shared-fs.md b/src/chapter3/shared-fs.md new file mode 100644 index 0000000..9861660 --- /dev/null +++ b/src/chapter3/shared-fs.md @@ -0,0 +1 @@ +# M3's Shared Filesystem diff --git a/src/chapter3/slurm.md b/src/chapter3/slurm.md new file mode 100644 index 0000000..8c10c4e --- /dev/null +++ b/src/chapter3/slurm.md @@ -0,0 +1 @@ +# Job batching & SLURM diff --git a/src/chapter4/challenges.md b/src/chapter4/challenges.md new file mode 100644 index 0000000..9358534 --- /dev/null +++ b/src/chapter4/challenges.md @@ -0,0 +1 @@ +# Challenges diff --git a/src/chapter4/chapter4.md b/src/chapter4/chapter4.md new file mode 100644 index 0000000..d30707f --- /dev/null +++ b/src/chapter4/chapter4.md @@ -0,0 +1 @@ +# Parallel Computing diff --git a/src/chapter4/multithreading.md b/src/chapter4/multithreading.md new file mode 100644 index 0000000..8438f74 --- /dev/null +++ b/src/chapter4/multithreading.md @@ -0,0 +1 @@ +# Multithreading diff --git a/src/chapter4/openmp.md b/src/chapter4/openmp.md new file mode 100644 index 0000000..82310a8 --- /dev/null +++ b/src/chapter4/openmp.md @@ -0,0 +1 @@ +# OpenMP diff --git a/src/chapter4/parallel-computing.md b/src/chapter4/parallel-computing.md new file mode 100644 index 0000000..e43775b --- /dev/null +++ b/src/chapter4/parallel-computing.md @@ -0,0 +1 @@ +# What is Parallel Computing? diff --git a/src/chapter4/shared-memory.md b/src/chapter4/shared-memory.md new file mode 100644 index 0000000..5fef4c8 --- /dev/null +++ b/src/chapter4/shared-memory.md @@ -0,0 +1 @@ +# Shared Memory Resources diff --git a/src/chapter5/chapter5.md b/src/chapter5/chapter5.md new file mode 100644 index 0000000..4882183 --- /dev/null +++ b/src/chapter5/chapter5.md @@ -0,0 +1 @@ +# Distributed Computing diff --git a/src/chapter5/distrubuted-computing.md b/src/chapter5/distrubuted-computing.md new file mode 100644 index 0000000..58598e7 --- /dev/null +++ b/src/chapter5/distrubuted-computing.md @@ -0,0 +1 @@ +# What is Distributed Computing diff --git a/src/chapter5/message-passing.md b/src/chapter5/message-passing.md new file mode 100644 index 0000000..f117715 --- /dev/null +++ b/src/chapter5/message-passing.md @@ -0,0 +1 @@ +# Message Passing diff --git a/src/chapter5/openmpi.md b/src/chapter5/openmpi.md new file mode 100644 index 0000000..ea24d72 --- /dev/null +++ b/src/chapter5/openmpi.md @@ -0,0 +1 @@ +# OpenMPI diff --git a/src/home.md b/src/home.md new file mode 100644 index 0000000..573707c --- /dev/null +++ b/src/home.md @@ -0,0 +1,15 @@ +# Welcome + +Welcome and congratulations on joining the HPC team. This is the HPC Training Book which contains the training material which will be used to train you in many of the preliminary HPC concepts required to participate in the HPC branch and in MDN as a whole. Throughout this book you will learn the basics of the C programming language, parallel and distributed computing and job batching. You will complete challenges across the weeks to test your knowledge and give you the opportunity to practice your skills. + +## What is HPC? + +~ + +
+
+ + {{ #include ./version.md }} + +
+
diff --git a/src/version.md b/src/version.md new file mode 100644 index 0000000..72b3e42 --- /dev/null +++ b/src/version.md @@ -0,0 +1 @@ +version: 0.1.0 \ No newline at end of file