Skip to content

Commit 1666311

Browse files
committed
change mpi dir
1 parent da3b37f commit 1666311

6 files changed

Lines changed: 27 additions & 67 deletions

File tree

tasks/all/example/include/ops_all.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ namespace nesterov_a_test_task_all {
1010
class TestTaskALL : public ppc::core::Task {
1111
public:
1212
explicit TestTaskALL(const std::vector<int>& in) : input_(in) {}
13-
bool PreProcessingImpl() override;
1413
bool ValidationImpl() override;
14+
bool PreProcessingImpl() override;
1515
bool RunImpl() override;
1616
bool PostProcessingImpl() override;
1717
std::vector<int> Get() {

tasks/all/example/src/ops_all.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ void MatMul(const std::vector<int> &in_vec, int rc_size, std::vector<int> &out_v
2525
}
2626
} // namespace
2727

28+
bool nesterov_a_test_task_all::TestTaskALL::ValidationImpl() {
29+
auto sqrt_size = static_cast<int>(std::sqrt(input_.size()));
30+
return sqrt_size * sqrt_size == static_cast<int>(input_.size());
31+
}
32+
2833
bool nesterov_a_test_task_all::TestTaskALL::PreProcessingImpl() {
2934
// Init value for input and output
3035
rc_size_ = static_cast<int>(std::sqrt(input_.size()));
31-
output_ = std::vector<int>(rc_size_, 0);
36+
output_ = std::vector<int>(input_.size(), 0);
3237
return true;
3338
}
3439

35-
bool nesterov_a_test_task_all::TestTaskALL::ValidationImpl() {
36-
// Check equality of counts elements
37-
return input_.size() == output_.size();
38-
}
39-
4040
bool nesterov_a_test_task_all::TestTaskALL::RunImpl() {
4141
int rank = -1;
4242
MPI_Comm_rank(MPI_COMM_WORLD, &rank);

tasks/mpi/example/func_tests/main.cpp

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,19 @@ TEST(nesterov_a_test_task_mpi, test_matmul_50) {
1616

1717
// Create data
1818
std::vector<int> in(kCount * kCount, 0);
19-
std::vector<int> out(kCount * kCount, 0);
2019

2120
for (size_t i = 0; i < kCount; i++) {
2221
in[(i * kCount) + i] = 1;
2322
}
2423

25-
// Create task_data
26-
auto task_data_mpi = std::make_shared<ppc::core::TaskData>();
27-
task_data_mpi->inputs.emplace_back(reinterpret_cast<uint8_t *>(in.data()));
28-
task_data_mpi->inputs_count.emplace_back(in.size());
29-
task_data_mpi->outputs.emplace_back(reinterpret_cast<uint8_t *>(out.data()));
30-
task_data_mpi->outputs_count.emplace_back(out.size());
31-
3224
// Create Task
33-
nesterov_a_test_task_mpi::TestTaskMPI test_task_mpi(task_data_mpi);
25+
nesterov_a_test_task_mpi::TestTaskMPI test_task_mpi(in);
3426
ASSERT_EQ(test_task_mpi.Validation(), true);
3527
test_task_mpi.PreProcessing();
3628
test_task_mpi.Run();
3729
test_task_mpi.PostProcessing();
3830

39-
EXPECT_EQ(in, out);
31+
EXPECT_EQ(in, test_task_mpi.Get());
4032
}
4133

4234
TEST(nesterov_a_test_task_mpi, test_matmul_100_from_file) {
@@ -51,25 +43,17 @@ TEST(nesterov_a_test_task_mpi, test_matmul_100_from_file) {
5143

5244
// Create data
5345
std::vector<int> in(count * count, 0);
54-
std::vector<int> out(count * count, 0);
5546

5647
for (size_t i = 0; i < count; i++) {
5748
in[(i * count) + i] = 1;
5849
}
5950

60-
// Create task_data
61-
auto task_data_mpi = std::make_shared<ppc::core::TaskData>();
62-
task_data_mpi->inputs.emplace_back(reinterpret_cast<uint8_t *>(in.data()));
63-
task_data_mpi->inputs_count.emplace_back(in.size());
64-
task_data_mpi->outputs.emplace_back(reinterpret_cast<uint8_t *>(out.data()));
65-
task_data_mpi->outputs_count.emplace_back(out.size());
66-
6751
// Create Task
68-
nesterov_a_test_task_mpi::TestTaskMPI test_task_mpi(task_data_mpi);
52+
nesterov_a_test_task_mpi::TestTaskMPI test_task_mpi(in);
6953
ASSERT_EQ(test_task_mpi.Validation(), true);
7054
test_task_mpi.PreProcessing();
7155
test_task_mpi.Run();
7256
test_task_mpi.PostProcessing();
7357

74-
EXPECT_EQ(in, out);
58+
EXPECT_EQ(in, test_task_mpi.Get());
7559
}

tasks/mpi/example/include/ops_mpi.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ namespace nesterov_a_test_task_mpi {
99

1010
class TestTaskMPI : public ppc::core::Task {
1111
public:
12-
explicit TestTaskMPI(ppc::core::TaskDataPtr task_data) : Task(std::move(task_data)) {}
13-
bool PreProcessingImpl() override;
12+
explicit TestTaskMPI(const std::vector<int>& in) : input_(in) {}
1413
bool ValidationImpl() override;
14+
bool PreProcessingImpl() override;
1515
bool RunImpl() override;
1616
bool PostProcessingImpl() override;
17+
std::vector<int> Get() {
18+
return output_;
19+
}
1720

1821
private:
1922
std::vector<int> input_, output_;

tasks/mpi/example/perf_tests/main.cpp

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,16 @@ TEST(nesterov_a_test_task_mpi, test_pipeline_run) {
1616

1717
// Create data
1818
std::vector<int> in(kCount * kCount, 0);
19-
std::vector<int> out(kCount * kCount, 0);
2019

2120
for (size_t i = 0; i < kCount; i++) {
2221
in[(i * kCount) + i] = 1;
2322
}
2423

25-
// Create task_data
26-
auto task_data_mpi = std::make_shared<ppc::core::TaskData>();
27-
task_data_mpi->inputs.emplace_back(reinterpret_cast<uint8_t *>(in.data()));
28-
task_data_mpi->inputs_count.emplace_back(in.size());
29-
task_data_mpi->outputs.emplace_back(reinterpret_cast<uint8_t *>(out.data()));
30-
task_data_mpi->outputs_count.emplace_back(out.size());
31-
3224
// Create Task
33-
auto test_task_mpi = std::make_shared<nesterov_a_test_task_mpi::TestTaskMPI>(task_data_mpi);
25+
auto test_task_mpi = std::make_shared<nesterov_a_test_task_mpi::TestTaskMPI>(in);
3426

3527
// Create Perf attributes
3628
auto perf_attr = std::make_shared<ppc::core::PerfAttr>();
37-
perf_attr->num_running = 10;
3829
const auto t0 = std::chrono::high_resolution_clock::now();
3930
perf_attr->current_timer = [&] {
4031
auto current_time_point = std::chrono::high_resolution_clock::now();
@@ -54,33 +45,24 @@ TEST(nesterov_a_test_task_mpi, test_pipeline_run) {
5445
ppc::core::Perf::PrintPerfStatistic(perf_results);
5546
}
5647

57-
ASSERT_EQ(in, out);
48+
ASSERT_EQ(in, test_task_mpi->Get());
5849
}
5950

6051
TEST(nesterov_a_test_task_mpi, test_task_run) {
6152
constexpr int kCount = 500;
6253

6354
// Create data
6455
std::vector<int> in(kCount * kCount, 0);
65-
std::vector<int> out(kCount * kCount, 0);
6656

6757
for (size_t i = 0; i < kCount; i++) {
6858
in[(i * kCount) + i] = 1;
6959
}
7060

71-
// Create task_data
72-
auto task_data_mpi = std::make_shared<ppc::core::TaskData>();
73-
task_data_mpi->inputs.emplace_back(reinterpret_cast<uint8_t *>(in.data()));
74-
task_data_mpi->inputs_count.emplace_back(in.size());
75-
task_data_mpi->outputs.emplace_back(reinterpret_cast<uint8_t *>(out.data()));
76-
task_data_mpi->outputs_count.emplace_back(out.size());
77-
7861
// Create Task
79-
auto test_task_mpi = std::make_shared<nesterov_a_test_task_mpi::TestTaskMPI>(task_data_mpi);
62+
auto test_task_mpi = std::make_shared<nesterov_a_test_task_mpi::TestTaskMPI>(in);
8063

8164
// Create Perf attributes
8265
auto perf_attr = std::make_shared<ppc::core::PerfAttr>();
83-
perf_attr->num_running = 10;
8466
const auto t0 = std::chrono::high_resolution_clock::now();
8567
perf_attr->current_timer = [&] {
8668
auto current_time_point = std::chrono::high_resolution_clock::now();
@@ -101,5 +83,5 @@ TEST(nesterov_a_test_task_mpi, test_task_run) {
10183
ppc::core::Perf::PrintPerfStatistic(perf_results);
10284
}
10385

104-
ASSERT_EQ(in, out);
86+
ASSERT_EQ(in, test_task_mpi->Get());
10587
}

tasks/mpi/example/src/ops_mpi.cpp

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,18 @@
66
#include <cstddef>
77
#include <vector>
88

9+
bool nesterov_a_test_task_mpi::TestTaskMPI::ValidationImpl() {
10+
auto sqrt_size = static_cast<int>(std::sqrt(input_.size()));
11+
return sqrt_size * sqrt_size == static_cast<int>(input_.size());
12+
}
13+
914
bool nesterov_a_test_task_mpi::TestTaskMPI::PreProcessingImpl() {
1015
// Init value for input and output
11-
unsigned int input_size = task_data->inputs_count[0];
12-
auto *in_ptr = reinterpret_cast<int *>(task_data->inputs[0]);
13-
input_ = std::vector<int>(in_ptr, in_ptr + input_size);
14-
15-
unsigned int output_size = task_data->outputs_count[0];
16-
output_ = std::vector<int>(output_size, 0);
17-
18-
rc_size_ = static_cast<int>(std::sqrt(input_size));
16+
rc_size_ = static_cast<int>(std::sqrt(input_.size()));
17+
output_ = std::vector<int>(input_.size(), 0);
1918
return true;
2019
}
2120

22-
bool nesterov_a_test_task_mpi::TestTaskMPI::ValidationImpl() {
23-
// Check equality of counts elements
24-
return task_data->inputs_count[0] == task_data->outputs_count[0];
25-
}
26-
2721
bool nesterov_a_test_task_mpi::TestTaskMPI::RunImpl() {
2822
MultiplyMatrixBasedOnRank();
2923
return true;
@@ -62,8 +56,5 @@ void nesterov_a_test_task_mpi::TestTaskMPI::MultiplyColumnMajor() {
6256
}
6357

6458
bool nesterov_a_test_task_mpi::TestTaskMPI::PostProcessingImpl() {
65-
for (size_t i = 0; i < output_.size(); i++) {
66-
reinterpret_cast<int *>(task_data->outputs[0])[i] = output_[i];
67-
}
6859
return true;
6960
}

0 commit comments

Comments
 (0)