Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ the community.

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.
6 changes: 4 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE/task_submission_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,10 @@ Please ensure the following items are completed **before** submitting your pull
- [ ] **clang-tidy**: My changes pass `clang-tidy` locally in my fork (no warnings/errors)
- [ ] **Functional Tests**: All functional tests are passing locally on my machine
- [ ] **Performance Tests**: All performance tests are passing locally on my machine
- [ ] **Branch**: I am working on a branch named exactly as my task directory (e.g., `nesterov_a_vector_sum`), not on `master`.
- [ ] **Truthful Content**: I confirm that every detail provided in this pull request is accurate and truthful to the best of my knowledge.
- [ ] **Branch**: I am working on a branch named exactly as my task directory (e.g., `nesterov_a_vector_sum`),
not on `master`.
- [ ] **Truthful Content**: I confirm that every detail provided in this pull request is accurate and truthful to the
best of my knowledge.

<!--
NOTE: Untruthful entries in this checklist may result in PR rejection and zero points for the associated task.
Expand Down
9 changes: 6 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE/task_submission_ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@
- [ ] **clang-tidy**: Мои изменения успешно проходят `clang-tidy` локально в моем форке (нет предупреждений/ошибок)
- [ ] **Функциональные тесты**: Все функциональные тесты успешно проходят локально на моей машине
- [ ] **Тесты производительности**: Все тесты производительности успешно проходят локально на моей машине
- [ ] **Ветка**: Я работаю в ветке, названной точно так же, как директория моей задачи (например, `nesterov_a_vector_sum`), а не в `master`
- [ ] **Правдивое содержание**: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными
- [ ] **Ветка**: Я работаю в ветке, названной точно так же, как директория моей задачи
(например, `nesterov_a_vector_sum`), а не в `master`
- [ ] **Правдивое содержание**: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и
достоверными

<!--
ПРИМЕЧАНИЕ: Ложные сведения в этом чек-листе могут привести к отклонению PR и получению нулевого балла за соответствующую задачу.
ПРИМЕЧАНИЕ: Ложные сведения в этом чек-листе могут привести к отклонению PR и получению нулевого балла
за соответствующую задачу.
-->
7 changes: 7 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
config:
MD013:
line_length: 120
code_blocks: false
tables: false
MD041: false
MD029: false
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ repos:
files: (^|/)(Dockerfile|.*\.Dockerfile)$
args: [--config, .hadolint.yaml]

- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.20.0
hooks:
- id: markdownlint-cli2
exclude: ^(3rdparty/|build.*/|install/)
args: ["--fix"]

# Configuration
default_stages: [pre-commit]
fail_fast: false
31 changes: 19 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
# Parallel Programming Course

[![Build application](https://github.com/learning-process/parallel_programming_course/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/learning-process/parallel_programming_course/actions/workflows/main.yml)
[![Pages](https://github.com/learning-process/parallel_programming_course/actions/workflows/pages.yml/badge.svg?branch=master)](https://github.com/learning-process/parallel_programming_course/actions/workflows/pages.yml)
[![CodeQL](https://github.com/learning-process/parallel_programming_course/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/learning-process/parallel_programming_course/actions/workflows/codeql.yml)
[![codecov](https://codecov.io/gh/learning-process/parallel_programming_course/graph/badge.svg?token=qCOtqeFyIz)](https://codecov.io/gh/learning-process/parallel_programming_course)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/learning-process/parallel_programming_course/badge)](https://scorecard.dev/viewer/?uri=github.com/learning-process/parallel_programming_course)

# Parallel Programming Course

Welcome to the Parallel Programming Course!

Resources:
- Documentation (full instructions and quick start): [English](https://learning-process.github.io/parallel_programming_course/en/), [Russian](https://learning-process.github.io/parallel_programming_course/ru/)

- Documentation (full instructions and quick start):
[English](https://learning-process.github.io/parallel_programming_course/en/),
[Russian](https://learning-process.github.io/parallel_programming_course/ru/)
- [Parallel Programming Course Slides](https://learning-process.github.io/parallel_programming_slides/)
- [Course Scoreboard](https://learning-process.github.io/parallel_programming_course/scoreboard/)
- [Code Coverage Report](https://learning-process.github.io/parallel_programming_course/coverage/)

### Parallel programming technologies:
The following parallel programming technologies are considered in practice:
* [Message Passing Interface (MPI)](https://www.mpi-forum.org/)
* [OpenMP (Open Multi-Processing)](https://www.openmp.org/)
* [oneAPI Threading Building Blocks (oneTBB)](https://github.com/oneapi-src/oneTBB)
* [Multithreading in C++ (`std::thread`)](https://en.cppreference.com/w/cpp/thread/thread)
## Parallel programming technologies

The following parallel programming technologies are considered in practice:

- [Message Passing Interface (MPI)](https://www.mpi-forum.org/)
- [OpenMP (Open Multi-Processing)](https://www.openmp.org/)
- [oneAPI Threading Building Blocks (oneTBB)](https://github.com/oneapi-src/oneTBB)
- [Multithreading in C++ (`std::thread`)](https://en.cppreference.com/w/cpp/thread/thread)

## Rules for submissions

### Rules for submissions:
1. You are not supposed to trigger CI jobs by frequent updates of your pull request. First you should test you work locally with all the scripts (code style).
* Respect others time and don't slow down the job queue
1. You are not supposed to trigger CI jobs by frequent updates of your pull request.
First you should test you work locally with all the scripts (code style).
- Respect others time and don't slow down the job queue
2. Carefully check if the program can hang.
5 changes: 3 additions & 2 deletions docker/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
Changelog
=========
# Changelog

## ppc-ubuntu

### [1.1] - 2025-08-30

- Update LLVM version to 21

### [1.0] - 2025-07-28

- Initial Ubuntu-based image
15 changes: 13 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,68 @@
# Parallel Programming Course Documentation

### How to make and test your changes
## How to make and test your changes

1. Navigate to the project root directory:

```bash
cd parallel_programming_course
```

2. (Optional) Create a virtual environment:

```bash
python3 -m venv venv
```

3. Install the required dependencies (for the projects and the docs):

```bash
pip install -r requirements.txt
pip install -r docs/requirements.txt
```

4. Configure the documentation build:

```bash
cmake -S . -B build -DUSE_DOCS=ON
```

5. Generate API documentation with Doxygen:

```bash
doxygen Doxyfile
```

6. Build the documentation:

```bash
cmake --build build -t docs_html
```

7. Update the documentation:

```bash
cmake --build build -t docs_gettext
# update documentation
cmake --build build -t docs_update
```

8. Re-build the documentation:

```bash
cmake --build build -t docs_html
```

9. Make local deployment of the changes:

```bash
cd docs/_build/html
python3 -m http.server 8080
```

10. Open the documentation in your browser. Depending on your platform use `open` (macOS), `xdg-open` (Linux), or `start` (Windows):
10. Open the documentation in your browser.
Depending on your platform use `open` (macOS), `xdg-open` (Linux), or `start` (Windows):

```bash
open http://localhost:8080/en # macOS
xdg-open http://localhost:8080/en # Linux
Expand Down
2 changes: 1 addition & 1 deletion scoreboard/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ HTML table with columns: S (solution), A (acceleration), E (efficiency), D (dead
- Due time is 23:59 MSK on the shown date.
- File `data/deadlines.yml` can shift dates per item by integer day offsets (default 0). Example:

```
```yaml
threads:
seq: 0 # no shift
omp: -2 # 2 days earlier
Expand Down
Loading