finalizes the system default communicator
SUBROUTINE mp_world_finalize() !! finalizes the system default communicator #if defined(__parallel) INTEGER :: ierr CALL mpi_barrier(MPI_COMM_WORLD, ierr) ! call mpi directly to avoid 0 stack pointer CALL rm_mp_perf_env() IF (ierr /= 0) CALL mp_stop(ierr, "mpi_barrier @ mp_world_finalize") debug_comm_count = debug_comm_count - 1 IF (debug_comm_count .NE. 0) THEN ! A bug, we're leaking or double-freeing communicators. Needs to be fixed where the leak happens. ! Memory leak checking might be helpful to locate the culprit DBCSR_ABORT("mp_world_finalize: assert failed: leaking communicators") END IF CALL mpi_finalize(ierr) IF (ierr /= 0) CALL mp_stop(ierr, "mpi_finalize @ mp_world_finalize") #else CALL rm_mp_perf_env() #endif END SUBROUTINE mp_world_finalize