95 com.acceptConnection(
"process0",
"process1",
"", 0);
97 Eigen::Vector3d msg = Eigen::Vector3d::Constant(0);
100 msg = Eigen::Vector3d::Constant(2);
104 Eigen::Vector4i msg = Eigen::Vector4i::Constant(0);
107 msg = Eigen::Vector4i::Constant(0);
110 com.closeConnection();
112 com.requestConnection(
"process0",
"process1",
"", 0, 1);
114 Eigen::Vector3d msg = Eigen::Vector3d::Constant(1);
120 Eigen::Vector4i msg = Eigen::Vector4i::Constant(1);
125 com.closeConnection();
136 com.acceptConnection(
"process0",
"process1",
"", 0);
138 std::vector<int> recv{1, 2, 3};
139 std::vector<int> msg =
com.receiveRange(0, asVector<int>);
140 BOOST_TEST(msg == recv);
141 com.sendRange(msg, 0);
144 std::vector<double> msg =
com.receiveRange(0, asVector<double>);
145 BOOST_TEST(msg == std::vector<double>({1.1, 2.2, 3.3}));
146 com.sendRange(msg, 0);
148 com.closeConnection();
150 com.requestConnection(
"process0",
"process1",
"", 0, 1);
152 std::vector<int> msg{1, 2, 3};
153 com.sendRange(msg, 0);
154 msg =
com.receiveRange(0, asVector<int>);
155 BOOST_CHECK(msg == std::vector<int>({1, 2, 3}));
158 std::vector<double> msg{1.1, 2.2, 3.3};
159 com.sendRange(msg, 0);
160 msg =
com.receiveRange(0, asVector<double>);
161 BOOST_CHECK(msg == std::vector<double>({1.1, 2.2, 3.3}));
163 com.closeConnection();
175 communication.acceptConnection(
"A",
"B",
"", 0);
177 communication.send(10, 0);
178 communication.receive(message, 0);
179 BOOST_TEST(message == 20);
181 communication.send(20, 1);
182 communication.receive(message, 1);
183 BOOST_TEST(message == 40);
185 communication.closeConnection();
189 communication.requestConnection(
"A",
"B",
"", 0, 2);
191 communication.receive(message, 0);
192 BOOST_TEST(message == 10);
194 communication.send(message, 0);
196 communication.closeConnection();
198 communication.requestConnection(
"A",
"B",
"", 1, 2);
200 communication.receive(message, 0);
201 BOOST_TEST(message == 20);
203 communication.send(message, 0);
205 communication.closeConnection();
288 com.acceptConnection(
"process0",
"process1",
"", 0);
290 std::vector<int> msg{2, 3, 5, 8};
294 std::vector<double> msg{1.2, 2.3, 3.5, 4.8};
297 com.closeConnection();
299 com.requestConnection(
"process0",
"process1",
"", 0, 1);
301 std::vector<int> msg(4);
302 com.broadcast(msg, 0);
303 BOOST_CHECK(msg == std::vector<int>({2, 3, 5, 8}));
306 std::vector<double> msg(4);
307 com.broadcast(msg, 0);
308 BOOST_CHECK(msg == std::vector<double>({1.2, 2.3, 3.5, 4.8}));
310 com.closeConnection();
377 com.acceptConnection(
"process0",
"process1",
"", 0);
379 std::vector<double> msg{0.1, 0.2, 0.3};
380 std::vector<double> rcv{0, 0, 0};
381 com.reduceSum(msg, rcv);
382 std::vector<double> msg_expected{0.1, 0.2, 0.3};
383 BOOST_CHECK_EQUAL_COLLECTIONS(msg.begin(), msg.end(),
384 msg_expected.begin(), msg_expected.end());
385 std::vector<double> rcv_expected{1.1, 2.2, 3.3};
386 BOOST_CHECK_EQUAL_COLLECTIONS(rcv.begin(), rcv.end(),
387 rcv_expected.begin(), rcv_expected.end());
390 std::vector<double> msg{0.1, 0.2, 0.3};
391 std::vector<double> rcv{0, 0, 0};
392 com.allreduceSum(msg, rcv);
393 std::vector<double> msg_expected{0.1, 0.2, 0.3};
394 BOOST_CHECK_EQUAL_COLLECTIONS(msg.begin(), msg.end(),
395 msg_expected.begin(), msg_expected.end());
396 std::vector<double> rcv_expected{1.1, 2.2, 3.3};
397 BOOST_CHECK_EQUAL_COLLECTIONS(rcv.begin(), rcv.end(),
398 rcv_expected.begin(), rcv_expected.end());
400 com.closeConnection();
402 com.requestConnection(
"process0",
"process1",
"", 0, 1);
404 std::vector<double> msg{1, 2, 3};
405 std::vector<double> rcv{0, 0, 0};
406 com.reduceSum(msg, rcv, 0);
407 std::vector<double> msg_expected{1, 2, 3};
408 BOOST_CHECK_EQUAL_COLLECTIONS(msg.begin(), msg.end(),
409 msg_expected.begin(), msg_expected.end());
410 std::vector<double> rcv_expected{0, 0, 0};
411 BOOST_CHECK_EQUAL_COLLECTIONS(rcv.begin(), rcv.end(),
412 rcv_expected.begin(), rcv_expected.end());
415 std::vector<double> msg{1, 2, 3};
416 std::vector<double> rcv{0, 0, 0};
417 com.allreduceSum(msg, rcv, 0);
418 std::vector<double> msg_expected{1, 2, 3};
419 BOOST_CHECK_EQUAL_COLLECTIONS(msg.begin(), msg.end(),
420 msg_expected.begin(), msg_expected.end());
421 std::vector<double> rcv_expected{1.1, 2.2, 3.3};
422 BOOST_CHECK_EQUAL_COLLECTIONS(rcv.begin(), rcv.end(),
423 rcv_expected.begin(), rcv_expected.end());
425 com.closeConnection();