Skip to content

Commit

Permalink
Make cp_para_env_type an extension to mp_comm_type, refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
Frederick Stein authored and fstein93 committed Feb 28, 2023
1 parent b4e1890 commit 3c1a876
Show file tree
Hide file tree
Showing 340 changed files with 3,422 additions and 3,652 deletions.
21 changes: 10 additions & 11 deletions src/almo_scf.F
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ MODULE almo_scf
USE cp_log_handling, ONLY: cp_get_default_logger,&
cp_logger_get_default_unit_nr,&
cp_logger_type
USE cp_para_env, ONLY: cp_para_env_release,&
cp_para_env_retain
USE cp_para_env, ONLY: cp_para_env_release
USE cp_para_types, ONLY: cp_para_env_type
USE dbcsr_api, ONLY: &
dbcsr_add, dbcsr_add_on_diag, dbcsr_binary_read, dbcsr_checksum, dbcsr_copy, dbcsr_create, &
Expand Down Expand Up @@ -195,7 +194,7 @@ SUBROUTINE almo_scf_init(qs_env, almo_scf_env, calc_forces)

! define the output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand All @@ -222,7 +221,7 @@ SUBROUTINE almo_scf_init(qs_env, almo_scf_env, calc_forces)
para_env=almo_scf_env%para_env, &
blacs_env=almo_scf_env%blacs_env, &
nelectron_spin=almo_scf_env%nelectrons_spin)
CALL cp_para_env_retain(almo_scf_env%para_env)
CALL almo_scf_env%para_env%retain()
CALL almo_scf_env%blacs_env%retain()
! copy basic quantities
Expand Down Expand Up @@ -546,7 +545,7 @@ SUBROUTINE almo_scf_initial_guess(qs_env, almo_scf_env)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -784,7 +783,7 @@ SUBROUTINE almo_scf_store_extrapolation_data(almo_scf_env)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -1215,7 +1214,7 @@ SUBROUTINE almo_scf_init_ao_overlap(matrix_s, almo_scf_env)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -1280,7 +1279,7 @@ SUBROUTINE almo_scf_main(qs_env, almo_scf_env)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -1379,7 +1378,7 @@ SUBROUTINE almo_scf_delocalization(qs_env, almo_scf_env)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -1935,7 +1934,7 @@ SUBROUTINE nlmo_compactification(qs_env, almo_scf_env, matrix)
! define the output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -2681,7 +2680,7 @@ SUBROUTINE almo_scf_clean_up(almo_scf_env)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down
2 changes: 1 addition & 1 deletion src/almo_scf_diis_types.F
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ SUBROUTINE almo_scf_diis_extrapolate(diis_env, extr_var, d_extr_var)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down
12 changes: 6 additions & 6 deletions src/almo_scf_methods.F
Original file line number Diff line number Diff line change
Expand Up @@ -1194,7 +1194,7 @@ SUBROUTINE almo_scf_p_blk_to_t_blk(almo_scf_env, ionic)

! get a useful unit_nr
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -2028,7 +2028,7 @@ SUBROUTINE generator_to_unitary(X, U, eps_filter)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -2695,7 +2695,7 @@ SUBROUTINE matrix_sqrt(A, Asqrt, Asqrtinv, N)
! get a useful unit_nr
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -2820,7 +2820,7 @@ SUBROUTINE pseudo_invert_matrix(A, Ainv, N, method, range1, range2, range1_thr,
! get a useful unit_nr
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -3054,7 +3054,7 @@ SUBROUTINE pseudo_matrix_power(A, Apow, power, N, range1, range1_thr, shift)
! get a useful unit_nr
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -3326,7 +3326,7 @@ SUBROUTINE xalmo_initial_guess(m_guess, m_t_in, m_t0, m_quench_t, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down
22 changes: 11 additions & 11 deletions src/almo_scf_optimizer.F
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ SUBROUTINE almo_scf_block_diagonal(qs_env, almo_scf_env, optimizer)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -473,7 +473,7 @@ SUBROUTINE almo_scf_xalmo_eigensolver(qs_env, almo_scf_env, optimizer)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -911,7 +911,7 @@ SUBROUTINE almo_scf_xalmo_pcg(qs_env, almo_scf_env, optimizer, quench_t, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -3326,7 +3326,7 @@ SUBROUTINE harris_foulkes_correction(almo_scf_env)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -6365,7 +6365,7 @@ SUBROUTINE print_mathematica_matrix(matrix, filename)
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -6826,7 +6826,7 @@ SUBROUTINE compute_xalmos_from_main_var(m_var_in, m_t_out, m_quench_t, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -7292,7 +7292,7 @@ SUBROUTINE compute_cg_beta(beta, numer, denom, reset_conjugator, conjugator, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -7498,7 +7498,7 @@ SUBROUTINE newton_grad_to_step(optimizer, m_grad, m_delta, m_s, m_ks, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -8357,7 +8357,7 @@ SUBROUTINE hessian_diag_apply(matrix_grad, matrix_step, matrix_S_ao, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -9113,7 +9113,7 @@ SUBROUTINE almo_scf_xalmo_trustr(qs_env, almo_scf_env, optimizer, quench_t, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down Expand Up @@ -10968,7 +10968,7 @@ SUBROUTINE wrap_up_xalmo_scf(qs_env, almo_scf_env, perturbation_in, &
! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down
2 changes: 1 addition & 1 deletion src/almo_scf_qs.F
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,7 @@ SUBROUTINE almo_scf_construct_quencher(qs_env, almo_scf_env)

! get a useful output_unit
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
unit_nr = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
ELSE
unit_nr = -1
Expand Down
6 changes: 3 additions & 3 deletions src/bse.F
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ SUBROUTINE compute_BZ(BZ, Z_vectors, B_iaQ_bse_local, B_bar_iaQ_bse_local, &
END DO

! we make the sum over all RI basis functions
CALL para_env%group%sum(BZ)
CALL para_env%sum(BZ)

END SUBROUTINE

Expand Down Expand Up @@ -224,7 +224,7 @@ SUBROUTINE compute_AZ(AZ, Z_vectors, B_iaQ_bse_local, B_bar_ijQ_bse_local, B_abQ
END DO

! we make the sum over all RI basis functions
CALL para_env%group%sum(AZ)
CALL para_env%sum(AZ)

! add (e_a-e_i)*Z_ia
DO i_occ = 1, homo
Expand Down Expand Up @@ -548,7 +548,7 @@ SUBROUTINE allocate_and_fill_local_array(B_local, fm_mat_S, gd_array, &

END DO

CALL para_env%group%alltoall(num_entries_send, num_entries_rec, 1)
CALL para_env%alltoall(num_entries_send, num_entries_rec, 1)

ALLOCATE (buffer_rec(0:para_env%num_pe - 1))
ALLOCATE (buffer_send(0:para_env%num_pe - 1))
Expand Down
10 changes: 5 additions & 5 deletions src/colvar_methods.F
Original file line number Diff line number Diff line change
Expand Up @@ -2205,29 +2205,29 @@ SUBROUTINE u_colvar(colvar, force_env)
natom_iforce = SIZE(particles(iforce_eval)%list%els)
! Only the rank 0 process collect info for each computation
IF (force_env%sub_force_env(iforce_eval)%force_env%para_env%ionode) THEN
IF (force_env%sub_force_env(iforce_eval)%force_env%para_env%is_source()) THEN
glob_natoms(iforce_eval) = natom_iforce
END IF
END DO
! Handling Parallel execution
CALL force_env%para_env%group%sync()
CALL force_env%para_env%group%sum(glob_natoms)
CALL force_env%para_env%sync()
CALL force_env%para_env%sum(glob_natoms)
! Transfer forces
DO iforce_eval = 1, nforce_eval
ALLOCATE (global_forces(iforce_eval)%forces(3, glob_natoms(iforce_eval)))
global_forces(iforce_eval)%forces = 0.0_dp
IF (ASSOCIATED(force_env%sub_force_env(iforce_eval)%force_env)) THEN
IF (force_env%sub_force_env(iforce_eval)%force_env%para_env%ionode) THEN
IF (force_env%sub_force_env(iforce_eval)%force_env%para_env%is_source()) THEN
! Forces
DO iparticle = 1, glob_natoms(iforce_eval)
global_forces(iforce_eval)%forces(:, iparticle) = &
particles(iforce_eval)%list%els(iparticle)%f
END DO
END IF
END IF
CALL force_env%para_env%group%sum(global_forces(iforce_eval)%forces)
CALL force_env%para_env%sum(global_forces(iforce_eval)%forces)
END DO
wrk_section => colvar%u_param%mixed_energy_section
Expand Down
6 changes: 3 additions & 3 deletions src/colvar_utils.F
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,9 @@ SUBROUTINE eval_colvar(force_env, coords, cvalues, Bmatrix, MassI, Amatrix)
END IF
END DO
END DO MOL
CALL force_env%para_env%group%sum(n_tot)
CALL force_env%para_env%group%sum(cvalues)
IF (PRESENT(Bmatrix)) CALL force_env%para_env%group%sum(Bmatrix)
CALL force_env%para_env%sum(n_tot)
CALL force_env%para_env%sum(cvalues)
IF (PRESENT(Bmatrix)) CALL force_env%para_env%sum(Bmatrix)
END IF
offset = n_tot
! Intermolecular Colvars
Expand Down
12 changes: 6 additions & 6 deletions src/common/cp_log_handling.F
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ SUBROUTINE cp_logger_create(logger, para_env, print_level, &
END IF

IF (logger%default_local_unit_nr == -1) THEN
IF (logger%para_env%ionode) THEN
IF (logger%para_env%is_source()) THEN
logger%default_local_unit_nr = logger%default_global_unit_nr
logger%close_local_unit_on_dealloc = .FALSE.
END IF
Expand Down Expand Up @@ -598,7 +598,7 @@ RECURSIVE FUNCTION cp_logger_get_default_unit_nr(logger, local, skip_not_ionode)
IF (PRESENT(skip_not_ionode)) skip = skip_not_ionode
IF (.NOT. loc) THEN
IF (lggr%default_global_unit_nr <= 0) THEN
IF (lggr%para_env%ionode) THEN
IF (lggr%para_env%is_source()) THEN
CALL cp_logger_generate_filename(lggr, filename, lggr%global_filename, &
".out", local=.FALSE.)
CALL open_file(TRIM(filename), file_status="unknown", &
Expand All @@ -620,7 +620,7 @@ RECURSIVE FUNCTION cp_logger_get_default_unit_nr(logger, local, skip_not_ionode)
CALL m_hostnm(host_name)
PRINT *, " *** Error trying to WRITE to the local logger ***"
PRINT *, " *** MPI_id = ", lggr%para_env%mepos
PRINT *, " *** MPI_Communicator = ", lggr%para_env%group%get_handle()
PRINT *, " *** MPI_Communicator = ", lggr%para_env%get_handle()
PRINT *, " *** PID = ", pid
PRINT *, " *** Hostname = "//TRIM(host_name)
CALL print_stack(default_output_unit)
Expand All @@ -639,7 +639,7 @@ RECURSIVE FUNCTION cp_logger_get_default_unit_nr(logger, local, skip_not_ionode)
unit_number=lggr%default_local_unit_nr)
WRITE (UNIT=lggr%default_local_unit_nr, FMT='(/,T2,A,I0,A,I0,A)', IOSTAT=iostat) &
'*** Local logger file of MPI task ', lggr%para_env%mepos, &
' in communicator ', lggr%para_env%group%get_handle(), ' ***'
' in communicator ', lggr%para_env%get_handle(), ' ***'
IF (iostat == 0) THEN
CALL m_getpid(pid)
CALL m_hostnm(host_name)
Expand All @@ -653,7 +653,7 @@ RECURSIVE FUNCTION cp_logger_get_default_unit_nr(logger, local, skip_not_ionode)
CALL m_hostnm(host_name)
PRINT *, " *** Error trying to WRITE to the local logger ***"
PRINT *, " *** MPI_id = ", lggr%para_env%mepos
PRINT *, " *** MPI_Communicator = ", lggr%para_env%group%get_handle()
PRINT *, " *** MPI_Communicator = ", lggr%para_env%get_handle()
PRINT *, " *** PID = ", pid
PRINT *, " *** Hostname = "//TRIM(host_name)
CALL print_stack(default_output_unit)
Expand Down Expand Up @@ -688,7 +688,7 @@ SUBROUTINE my_cp_para_env_release(para_env)
para_env%ref_count = para_env%ref_count - 1
IF (para_env%ref_count < 1) THEN
IF (para_env%owns_group) THEN
CALL para_env%group%free()
CALL para_env%free()
END IF
DEALLOCATE (para_env)
END IF
Expand Down

0 comments on commit 3c1a876

Please sign in to comment.