Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
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
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,46 @@ Coverage report is available [here](https://learning-process.github.io/parallel_
* `oneAPI Threading Building Blocks (oneTBB)`
* `Multithreading in C++ (std::thread)`

## Quickstart

Build
-----
- Configure: `cmake -S . -B build [-DENABLE_ADDRESS_SANITIZER=ON]`
- Build: `cmake --build build -j`
- Optional install: `cmake --install build --prefix install`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Optional install: `cmake --install build --prefix install`

We do NOT support it


Run tests locally (preferred)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this quick start section? It is already quite concise in the sphinx docs

-----------------------------
Set environment and use the helper runner:

```
export PPC_NUM_THREADS=4
export PPC_NUM_PROC=2

# Shared-memory tests
python3 scripts/run_tests.py --running-type threads --counts 1 2 4

# MPI tests
python3 scripts/run_tests.py --running-type processes --counts 2 4

# Performance
python3 scripts/run_tests.py --running-type performance
```

Scoreboard generation
---------------------
- `pip install -r scoreboard/requirements.txt`
- `python3 scoreboard/main.py -o scoreboard/out`

Docs
----
- `cmake -S . -B build -DUSE_DOCS=ON`
- `cmake --build build -t docs_html`

Pre-commit
----------
- `pre-commit install && pre-commit run -a`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is definitely unneeded


### 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
Expand Down
253 changes: 140 additions & 113 deletions docs/_static/ci_graph.svg
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The point of previous graph was to be automatically updateable. Here it is very diffeicult to keep it clear all the time. As you know, CI pipeline part is intended to be changed quite often, so it is impractical to keep unmaintainable svgs

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 25 additions & 1 deletion docs/common_information/introduction.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Introduction
============

Contacts
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that needed here? For external contributors the primary contact is issue tracker. For students - it is already listed in the slides

~~~~~~~~

- Alexander Nesterov — nesterov.alexander@outlook.com
- Arseniy Obolenskiy — me@gooddoog.ru

Practice
~~~~~~~~

Expand All @@ -12,7 +18,9 @@ Practice
- Test verification

- Task distribution is random for each student.
- An example for each technology can be found in the corresponding directory: ``tasks/<all/omp/tbb/seq/stl/mpi>/example``.
- Full automation of quality and performance checks; plagiarism checks are applied.
- Deadlines are set per task. See the penalties and grading rules in ``Points``.
- Examples are provided in ``tasks/example_threads`` and ``tasks/example_processes`` (and extended variations ``tasks/example_processes_2`` / ``tasks/example_processes_3``).
- In each repository, the README.md contains a link to the course documentation (**read it fully!!!**).
- Additionally, each repository includes an example of a properly formatted PULL REQUEST.
- Submission of all tasks is mandatory to pass the course.
Expand All @@ -21,6 +29,22 @@ Practice
All disabled tasks will result in a zero points result for those tasks at the end of the semester.
It can be seen that your task is disabled due to the following reason: the directory of your task has been renamed
from ``seq/nesterov_a_vector_sum`` to ``seq/nesterov_a_vector_sum_disabled``

Communication
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question, is it needed here?

~~~~~~~~~~~~~

- Telegram channel — announcements and quick updates
- GitHub Issues — repository problems and bug reports
- Lessons — Q&A
- Feedback form — critical issues
- Email — non‑urgent matters

Next steps
~~~~~~~~~~

- Practice 1 (intro): task distribution, brief talk on parallelism, MPI examples
- Practice 2 (repo usage): repository checks and project structure walkthrough
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure now to interpret "Next steps" in supposed to be ready-to-use repository documentation. Next for what? Also, I find it unnecessary in the repo documentation


- All resources for using the repository will be provided here:

- `Git for half an hour: A Beginner’s Guide <https://proglib.io/p/git-for-half-an-hour>`__
Expand Down
Loading
Loading