Skip to content

Homework repo for Parallel programming

License

Notifications You must be signed in to change notification settings

CSalih/Parallel-Programming

Repository files navigation

Parallel Programming

Topics:

  • parallel programming concepts
  • shared memory parallelization using OpenMP
  • performance-oriented programming
  • proper experiment orchestration and benchmarking
  • parallel programming tools

Content

Exec Topics Notes
Skripts Benchmark script
1 Scaling characteristics
2 Performance-oriented programming cachegrind, perf
3 OpenMP - Basics
4 OpenMP - Parallel Mergesort
5 OpenMP - Affinity
6 OpenMP - Tasks
7 OpenMP - Barrier NQueens
8 Data and control dependencies
9 Dependencies analysis
10 Profiling gprof
11 Program optimizations
12 Vectorizing

Requirements

  • GNU C/C++ compiler (Clang not tested, MSVC works limited)
  • CMake Version 3.8+

If you want to use this project on Windows you can configure WSL on Windows 10.

Setup

We recommend using VS Code with the CMake Tools and C++ extension as text editor. Before we can start you have to configure CMake Tools Getting Started.

Type in the command pallette (STRG + Shift + P) of VS Code.

> CMake: Quick Start

Build

VS Code

Build a specific executable type in the command pallette:

> CMake: Build Target

now you can select the executable you want to build. To Build all executable:

> CMake: Build

Executable is located in the build folder. For more details please read the official documentation of CMake Tools: Building.

CMake cli

$ cd Project_Dir/Assignment[N]
$ mkdir build
$ cd build
$ cmake ..
$ make