| 222 | } |
| 223 | |
| 224 | inline void Linkers::SendRecv(int send_rank, char* send_data, int64_t send_len, |
| 225 | int recv_rank, char* recv_data, int64_t recv_len) { |
| 226 | auto start_time = std::chrono::high_resolution_clock::now(); |
| 227 | std::thread send_worker( |
| 228 | [this, send_rank, send_data, send_len]() { |
| 229 | Send(send_rank, send_data, send_len); |
| 230 | }); |
| 231 | Recv(recv_rank, recv_data, recv_len); |
| 232 | send_worker.join(); |
| 233 | // wait for send complete |
| 234 | auto end_time = std::chrono::high_resolution_clock::now(); |
| 235 | // output used time on each iteration |
| 236 | network_time_ += std::chrono::duration<double, std::milli>(end_time - start_time); |
| 237 | } |
| 238 | |
| 239 | #ifdef USE_SOCKET |
| 240 |
no test coverage detected