Skip to content

Commit 43b8c7d

Browse files
committed
Add OSH process technology
1 parent 5f1e6ac commit 43b8c7d

61 files changed

Lines changed: 1997 additions & 781 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE/task_fix_submission_en.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
Pull request title requirement:
33
4-
"Fix: <LastName> <FirstName>. Technology <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI>. <Full Task Name>. Variant <Number>"
4+
"Fix: <LastName> <FirstName>. Technology <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI|OSH>. <Full Task Name>. Variant <Number>"
55
-->
66

77
## Description
@@ -15,7 +15,7 @@ Please provide:
1515

1616
- **Task**: _Enter the full task name here_
1717
- **Variant**: _Enter the variant number here_
18-
- **Technology**: _Enter technology (e.g., SEQ, OMP, TBB, STL, MPI)_
18+
- **Technology**: _Enter technology (e.g., SEQ, OMP, TBB, STL, MPI, OSH)_
1919
- **Student directory**: _Enter the directory name (e.g., `nesterov_a_vector_sum`)_
2020
- **Original PR / commit / issue link**: _Paste link(s) here_
2121
- **Original task definition**: _Paste the full task statement here_

.github/PULL_REQUEST_TEMPLATE/task_fix_submission_ru.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
Требования к названию pull request:
33
4-
Исправление: <Фамилия> <Имя>. Технология <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI>.
4+
Исправление: <Фамилия> <Имя>. Технология <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI|OSH>.
55
<Полное название задачи>. Вариант <Номер>
66
-->
77

@@ -16,7 +16,7 @@
1616

1717
- **Задача**: _Введите здесь полное название задачи_
1818
- **Вариант**: _Введите здесь номер варианта_
19-
- **Технология**: _Введите технологию (например, SEQ, OMP, TBB, STL, MPI)_
19+
- **Технология**: _Введите технологию (например, SEQ, OMP, TBB, STL, MPI, OSH)_
2020
- **Директория студента**: _Введите имя директории (например, `nesterov_a_vector_sum`)_
2121
- **Ссылка на исходный PR / коммит / issue**: _Вставьте ссылку(и)_
2222
- **Полное описание исходной задачи**: _Вставьте полный текст условия_

.github/PULL_REQUEST_TEMPLATE/task_submission_en.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
Pull request title requirement:
33
4-
"<LastName> <FirstName>. Technology <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI>. <Full Task Name>. Variant <Number>"
4+
"<LastName> <FirstName>. Technology <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI|OSH>. <Full Task Name>. Variant <Number>"
55
-->
66

77
## Description
@@ -13,7 +13,7 @@ Please provide a detailed description of your implementation, including:
1313

1414
- **Task**: _Enter the full task name here_
1515
- **Variant**: _Enter the variant number here_
16-
- **Technology**: _Enter technology (e.g., SEQ, OMP, TBB, STL, MPI)_
16+
- **Technology**: _Enter technology (e.g., SEQ, OMP, TBB, STL, MPI, OSH)_
1717
- **Description** of your implementation and report.
1818
_Provide a concise summary of your implementation and report here._
1919

.github/PULL_REQUEST_TEMPLATE/task_submission_ru.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
Требования к названию pull request:
33
4-
"<Фамилия> <Имя>. Технология <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI>. <Полное название задачи>. Вариант <Номер>"
4+
"<Фамилия> <Имя>. Технология <TECHNOLOGY_NAME:SEQ|OMP|TBB|STL|MPI|OSH>. <Полное название задачи>. Вариант <Номер>"
55
-->
66

77
## Описание
@@ -13,7 +13,7 @@
1313

1414
- **Задача**: _Введите здесь полное название задачи_
1515
- **Вариант**: _Введите здесь номер варианта_
16-
- **Технология**: _Введите технологию (например, SEQ, OMP, TBB, STL, MPI)_
16+
- **Технология**: _Введите технологию (например, SEQ, OMP, TBB, STL, MPI, OSH)_
1717
- **Описание** вашей реализации и отчёта.
1818
_Кратко опишите вашу реализацию и содержание отчёта здесь._
1919

.github/actions/setup-macos-toolchain/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ runs:
1111
shell: bash
1212
run: |
1313
brew update
14-
brew install ninja mpich llvm libomp openssl
14+
brew install ninja mpich llvm libomp openssl autoconf automake libtool
1515
brew link libomp --overwrite --force

.github/workflows/mac.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
with:
6464
path: install
6565
name: macos-clang-install
66-
- name: Run func tests (MPI)
66+
- name: Run func tests (MPI/OSH)
6767
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4
6868
env:
6969
PPC_NUM_THREADS: 1

.github/workflows/ubuntu.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ jobs:
3535
key: ${{ runner.os }}-gcc
3636
create-symlink: true
3737
max-size: 1G
38+
- name: Install OSH build dependencies
39+
run: apt-get update && apt-get install -y --no-install-recommends autoconf automake libtool
3840
- name: CMake configure
3941
run: >
4042
cmake -S . -B build -G Ninja
@@ -86,7 +88,7 @@ jobs:
8688
with:
8789
path: install
8890
name: ubuntu-gcc-install-${{ matrix.os }}
89-
- name: Run func tests (MPI)
91+
- name: Run func tests (MPI/OSH)
9092
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4 --additional-mpi-args="--oversubscribe"
9193
env:
9294
PPC_NUM_THREADS: 1
@@ -139,6 +141,8 @@ jobs:
139141
key: ${{ runner.os }}-clang
140142
create-symlink: true
141143
max-size: 1G
144+
- name: Install OSH build dependencies
145+
run: apt-get update && apt-get install -y --no-install-recommends autoconf automake libtool
142146
- name: CMake configure
143147
run: >
144148
cmake -S . -B build -G Ninja
@@ -182,7 +186,7 @@ jobs:
182186
with:
183187
path: install
184188
name: ubuntu-clang-install-${{ matrix.os }}
185-
- name: Run func tests (MPI)
189+
- name: Run func tests (MPI/OSH)
186190
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4 --additional-mpi-args="--oversubscribe"
187191
env:
188192
PPC_NUM_THREADS: 1
@@ -237,6 +241,8 @@ jobs:
237241
key: ${{ runner.os }}-clang
238242
create-symlink: true
239243
max-size: 1G
244+
- name: Install OSH build dependencies
245+
run: apt-get update && apt-get install -y --no-install-recommends autoconf automake libtool
240246
- name: CMake configure
241247
run: >
242248
cmake -S . -B build -G Ninja
@@ -282,7 +288,7 @@ jobs:
282288
with:
283289
path: install
284290
name: ubuntu-clang-sanitizer-install-${{ matrix.os }}
285-
- name: Run tests (MPI)
291+
- name: Run tests (MPI/OSH)
286292
run: scripts/run_tests.py --running-type="processes" --counts 2 --additional-mpi-args="--oversubscribe"
287293
env:
288294
PPC_NUM_THREADS: 2
@@ -347,6 +353,8 @@ jobs:
347353
key: ${{ runner.os }}-gcc
348354
create-symlink: true
349355
max-size: 1G
356+
- name: Install OSH build dependencies
357+
run: apt-get update && apt-get install -y --no-install-recommends autoconf automake libtool
350358
- name: CMake configure
351359
run: >
352360
cmake -S . -B build -G Ninja
@@ -360,7 +368,7 @@ jobs:
360368
- name: Install project
361369
run: |
362370
cmake --build build --target install -- --quiet
363-
- name: Run tests (MPI)
371+
- name: Run tests (MPI/OSH)
364372
run: scripts/run_tests.py --running-type="processes" --additional-mpi-args="--oversubscribe"
365373
env:
366374
PPC_NUM_PROC: 2

.github/workflows/windows.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
with:
6464
path: install
6565
name: windows-msvc-install
66-
- name: Run func tests (MPI)
66+
- name: Run func tests (MPI/OSH)
6767
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4
6868
env:
6969
PPC_NUM_THREADS: 1
@@ -147,6 +147,10 @@ jobs:
147147
with:
148148
path: install
149149
name: windows-clang-install
150+
- name: Run tests (MPI/OSH)
151+
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4
152+
env:
153+
PPC_NUM_THREADS: 1
150154
- name: Run tests (threads)
151155
run: scripts/run_tests.py --running-type="threads" --counts 1 2 3 4
152156
env:

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@
1616
[submodule "3rdparty/benchmark"]
1717
path = 3rdparty/benchmark
1818
url = https://github.com/google/benchmark
19+
[submodule "3rdparty/oshmpi"]
20+
path = 3rdparty/oshmpi
21+
url = https://github.com/pmodels/oshmpi
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
add_library(ppc_osh_adapter STATIC src/shmem.cpp)
2+
3+
target_include_directories(ppc_osh_adapter PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
4+
target_link_libraries(ppc_osh_adapter PUBLIC MPI::MPI_CXX)
5+
6+
if(MSVC)
7+
target_compile_options(ppc_osh_adapter PRIVATE /w)
8+
else()
9+
target_compile_options(ppc_osh_adapter PRIVATE -w)
10+
endif()
11+
12+
install(
13+
TARGETS ppc_osh_adapter
14+
ARCHIVE DESTINATION lib
15+
LIBRARY DESTINATION lib
16+
RUNTIME DESTINATION bin)
17+
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/" DESTINATION include)

0 commit comments

Comments
 (0)