Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
allnes committed Mar 19, 2024
1 parent d973050 commit d997c01
Showing 1 changed file with 17 additions and 32 deletions.
49 changes: 17 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Code style is checked using [clang-format](https://clang.llvm.org/docs/ClangForm
### `MPI`
* **Windows (MSVC)**:

[Installers link.](https://www.microsoft.com/en-us/download/details.aspx?id=57467) You have to install `msmpisdk.msi` and `msmpisetup.exe`.
[Installers link.](https://www.microsoft.com/en-us/download/details.aspx?id=105289) You have to install `msmpisdk.msi` and `msmpisetup.exe`.

* **Linux (`gcc` and `clang`)**:
```
Expand All @@ -62,24 +62,15 @@ Code style is checked using [clang-format](https://clang.llvm.org/docs/ClangForm
```
sudo apt install libomp-dev
```
* **MacOS (apple clang)**: The system is completely unstable thus you are not recommended to use it with `OpenMP`!
* **MacOS (`llvm`)**:
```
brew install llvm
brew install libomp
```

### `TBB`
* **Windows (`MSVC`)**:

`CMake` installs `TBB` while you run `cmake` for that project on Windows.

* **Linux (`gcc` and `clang`)**:
```
sudo apt-get install libtbb-dev
```
* **MacOS (apple clang)**:
```
brew install tbb
```
* **Windows (`MSVC`)**, **Linux (`gcc` and `clang`)**, **MacOS (apple clang)**:
* Build as 3rdparty in the current project

### `std::thread`
* `std::thread` is included into STL libraries.
Expand All @@ -91,14 +82,16 @@ Navigate to a source code folder.

```
mkdir build && cd build
cmake -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON ..
cmake -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON ..
```
*Help on CMake keys:*
- `-D USE_SEQ=ON` enable `Sequential` labs (based on OpenMP's CMakeLists.txt).
- `-D USE_MPI=ON` enable `MPI` labs.
- `-D USE_OMP=ON` enable `OpenMP` labs.
- `-D USE_TBB=ON` enable `TBB` labs.
- `-D USE_STL=ON` enable `std::thread` labs.
- `-D USE_FUNC_TESTS=ON` enable functional tests.
- `-D USE_PERF_TESTS=ON` enable performance tests.

*A corresponding flag can be omitted if it's not needed.*

Expand All @@ -110,24 +103,18 @@ Navigate to a source code folder.
* Run `<project's folder>/build/bin`

## 3. How to submit you work
* There are `task_1`, `task_2`, `task_3`, `task_4` folders in `modules` directory. There are 4 tasks for the semester. Move to a folder of your task. Make a directory named `<last name>_<first letter of name>_<short task name>`. Example: `task1/nesterov_a_vector_sum`.
* Go into the newly created folder and begin you work on the task. There must be only 4 files and 3 of them must be written by you:
- `main.cpp` - google tests for the task. The number of tests must be 5 or greater.
- `vector_sum.h` - a header file with function prototypes, name it in the same way as `<short task name>`.
- `vector_sum.cpp` - the task implementation, name it in the same way as `<short task name>`.
- `CMakeLists.txt` - a file to configure your project. Examples for each configuration can be found in `test_tasks`.
* The number of directories will increase with time. To build only your project, you need to do the following:
```
cmake --build . --target <name task's directory>_<name_technology> --config RELEASE
```
Example:
```
cmake --build . --target nesterov_a_vector_sum_mpi --config RELEASE
```
* There are `mpi`, `omp`, `seq`, `stl`, `tbb` folders in `tasks` directory. Move to a folder of your task. Make a directory named `<last name>_<first letter of name>_<short task name>`. Example: `seq/nesterov_a_vector_sum`. Please name all tasks same name directory. If `seq` task named `seq/nesterov_a_vector_sum` then `omp` task need to be named `omp/nesterov_a_vector_sum`.
* Go into the newly created folder and begin you work on the task. There must be only 4 directory with files:
- `func_tests` - google tests directory with files for the functional tests of task. The number of tests must be 5 or greater.
- `include` - a header files directory with function prototypes.
- `perf_tests` - google tests directory with files for the performance tests of task. The number of tests must be 2 - `run_task` and `run_pipeline`.
- `src` - a source files directory with functions realization.
* We need to know that exist 10 executable files for running:
- `<mpi, omp, seq, stl, tbb>_<func, perf>_tests` e.g. `omp_perf_tests` - executable file for performance tests of OpenMP practice tasks.
* Name your pull request in the following way:
* for tasks:
```
<Фамилия Имя>. Задача <Номер задачи>. Вариант <Номер варианта>. <Полное название задачи>.
<Last Name First Name>. Task <Number of task>. Variant <Number of variant>. <Full name of task>.
Нестеров Александр. Задача 1. Вариант 123. Сумма элементов вектора.
```

Expand All @@ -143,5 +130,3 @@ Navigate to a source code folder.
*Failing to follow the rules makes the project build red.*

And finally,

**All information of the course is in wiki page!!!**

0 comments on commit d997c01

Please sign in to comment.