| 273 | } |
| 274 | |
| 275 | void lbann::finalize(lbann_comm* comm) |
| 276 | { |
| 277 | finalize_trainer(); |
| 278 | #ifdef LBANN_HAS_NVSHMEM |
| 279 | nvshmem::finalize(); |
| 280 | #endif // LBANN_HAS_NVSHMEM |
| 281 | MPI_Errhandler_free(&err_handle); |
| 282 | #ifdef LBANN_HAS_DISTCONV |
| 283 | dc::finalize(); |
| 284 | #endif |
| 285 | #ifdef LBANN_HAS_DNN_LIB |
| 286 | dnn_lib::destroy(); |
| 287 | #endif |
| 288 | #ifdef LBANN_HAS_EMBEDDED_PYTHON |
| 289 | python::finalize(); |
| 290 | #endif |
| 291 | #ifdef LBANN_HAS_NVSHMEM |
| 292 | nvshmem::finalize(); |
| 293 | #endif // LBANN_HAS_SHMEM |
| 294 | #ifdef LBANN_HAS_SHMEM |
| 295 | shmem_finalize(); |
| 296 | #endif // LBANN_HAS_SHMEM |
| 297 | #ifdef LBANN_HAS_CALIPER |
| 298 | finalize_caliper(); |
| 299 | #endif |
| 300 | |
| 301 | if (comm != nullptr) { |
| 302 | delete comm; |
| 303 | } |
| 304 | El::Finalize(); |
| 305 | } |
| 306 | |
| 307 | auto lbann::data_layout_to_matrix_format(data_layout layout) -> matrix_format |
| 308 | { |
no test coverage detected