Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nixon-voxell/parallel_programming_tutorial
Parallel programming tutorial.
https://github.com/nixon-voxell/parallel_programming_tutorial
Last synced: 6 days ago
JSON representation
Parallel programming tutorial.
- Host: GitHub
- URL: https://github.com/nixon-voxell/parallel_programming_tutorial
- Owner: nixon-voxell
- Created: 2024-03-13T01:45:51.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-19T16:34:08.000Z (9 months ago)
- Last Synced: 2024-11-13T01:52:05.205Z (2 months ago)
- Language: Rust
- Size: 4.92 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Parallel Programming Tutorial
## Slides
You can find the associated PDF slides [here](./Introduction%20to%20Parallel%20Programming.pdf) or the Canva slides [here](https://www.canva.com/design/DAF-tYUrF-g/mkeJrLY4Sp-a51t100g0Yw/view?utm_content=DAF-tYUrF-g&utm_campaign=designshare&utm_medium=link&utm_source=editor).
## Running Prebuilt Programs
To run any of the prebuilt programs in the repository:
1. Head into [`prebuilt_programs`](./prebuilt_programs) folder by running: `cd prebuilt_programs`.
2. Run the command: `cargo run --bin 'filename'` (e.g. `cargo run --bin spawn_threads`).## Tutorial Structure
This tutorial is separated into multiple parts inside the [`tutorials`](./tutorials) folder.
Each folder (inside the tutorial folder) contains a markdown (`README.md`) file that explains what you should learn in that section.
Each folder is also a new rust project which means you can do your exercise inside the `src/main.rs` file.Example for [`spawn_threads`](./tutorials/1_spawn_threads):
- Tutorial file: [`tutorials/spawn_threads/README.md`](./tutorials/1_spawn_threads/README.md)
- Exercise file: [`tutorials/spawn_threads/src/main.rs`](./tutorials/1_spawn_threads/src/main.rs)### Order of Tutorial
It is highly encouraged to follow the order of this list:
1. [Spawning Threads](./tutorials/1_spawn_threads)
2. [Serial Map](./tutorials/2_serial_map)
3. [Parallel Map](./tutorials/3_par_map)
4. [Serial Stencil](./tutorials/4_serial_stencil)
5. [Parallel Stencil](./tutorials/5_par_stencil)
6. [Batching](./tutorials/6_batch)