47 std::shared_ptr<DataSet> DS = std::shared_ptr<DataSet>(
new DataSet());
48 auto begin = std::chrono::steady_clock::now();
52 solver->setInputDataSet(DS);
53 solver->initializeKernel(stat);
54 solver->executeKernel(stat);
56 auto end = std::chrono::steady_clock::now();
57 double total_time =
static_cast<std::chrono::duration<double>
>(end - begin).count();
59 std::cout <<
solver->generateInformationString(total_time);
60 std::cout <<
"Using total time " << total_time <<
" s\n";
65 std::shared_ptr<DataSet> DS = std::shared_ptr<DataSet>(
new DataSet());
67 auto begin = std::chrono::steady_clock::now();
70 MPI_Barrier(MPI_COMM_WORLD);
73 solver->setInputDataSet(DS);
74 solver->initializeKernel(stat);
75 solver->executeKernel(stat);
77 auto end = std::chrono::steady_clock::now();
78 double total_time =
static_cast<std::chrono::duration<double>
>(end - begin).count();
80 std::cout <<
solver->generateInformationString(total_time);
81 std::cout <<
"Using total time " << total_time <<
" s\n";
86 std::shared_ptr<DataSet> DS = std::shared_ptr<DataSet>(
new DataSet());
87 auto begin = std::chrono::steady_clock::now();
91 solver->setInputDataSet(DS);
92 solver->initializeKernel(stat);
95 int M = PM->get_int(
"M",
LOC(), 1);
96 std::string directory = PM->get_string(
"directory",
LOC(),
"default");
99 MPI_Barrier(MPI_COMM_WORLD);
103 for (
int icalc = guard.
istart; icalc < guard.
iend; ++icalc) {
104 auto mid1 = std::chrono::steady_clock::now();
107 solver->initializeKernel(stat);
108 auto mid2 = std::chrono::steady_clock::now();
111 std::cout <<
"expect time: "
112 <<
static_cast<std::chrono::duration<double>
>(mid2 - mid1).count() *
117 solver->executeKernel(stat);
118 mid2 = std::chrono::steady_clock::now();
121 std::cout <<
"expect time: "
122 <<
static_cast<std::chrono::duration<double>
>(mid2 - mid1).count() *
128 solver->finalizeKernel(stat);
129 mid2 = std::chrono::steady_clock::now();
132 std::cout <<
"expect time: "
133 <<
static_cast<std::chrono::duration<double>
>(mid2 - mid1).count() *
138 MPI_Barrier(MPI_COMM_WORLD);
140 auto collect =
solver->getRuleSet()->getResult(1).data();
141 auto reduced =
solver->getRuleSet()->getResult(2).data();
142 for (
int i = 0; i < collect.size(); ++i) {
143 std::cout << std::get<0>(collect[i]) <<
"\n";
144 std::cout << std::get<0>(reduced[i]) <<
"\n";
145 auto [key1, from_data, type1, size1, nframe1] = collect[i];
146 auto [key2, to_data, type2, size2, nframe2] = reduced[i];
152 auto end = std::chrono::steady_clock::now();
153 double total_time =
static_cast<std::chrono::duration<double>
>(end - begin).count();
157 std::cout <<
solver->generateInformationString(total_time);
158 std::cout <<
"Using total time " << total_time <<
" s\n";
164 std::shared_ptr<DataSet> DS = std::shared_ptr<DataSet>(
new DataSet());
165 auto begin = std::chrono::steady_clock::now();
168 solver->setInputParam(PM);
169 solver->setInputDataSet(DS);
170 solver->initializeKernel(stat);
172 int M = PM->get_int(
"M",
LOC(), 1);
176 MPI_Barrier(MPI_COMM_WORLD);
180 for (
int icalc = guard.
istart; icalc < guard.
iend; ++icalc) {
181 auto mid1 = std::chrono::steady_clock::now();
183 solver->initializeKernel(stat);
186 auto end = std::chrono::steady_clock::now();
187 double total_time =
static_cast<std::chrono::duration<double>
>(end - begin).count();
191 std::cout <<
solver->generateInformationString(total_time);
192 std::cout <<
"Using total time " << total_time <<
" s\n";