par_env_t Derived Type

type, public :: par_env_t


Inherited by

type~~par_env_t~~InheritedByGraph type~par_env_t par_env_t type~int2_compute_data_t int2_compute_data_t type~int2_compute_data_t->type~par_env_t pe type~int2_compute_t int2_compute_t type~int2_compute_t->type~par_env_t pe type~xc_consumer_t xc_consumer_t type~xc_consumer_t->type~par_env_t pe type~int2_fock_data_t int2_fock_data_t type~int2_fock_data_t->type~int2_compute_data_t type~xc_consumer_grad_t xc_consumer_grad_t type~xc_consumer_grad_t->type~xc_consumer_t type~xc_consumer_ks_t xc_consumer_ks_t type~xc_consumer_ks_t->type~xc_consumer_t type~xc_consumer_tde_t xc_consumer_tde_t type~xc_consumer_tde_t->type~xc_consumer_t type~xc_consumer_tdg_t xc_consumer_tdg_t type~xc_consumer_tdg_t->type~xc_consumer_t type~int2_mrsf_data_t int2_mrsf_data_t type~int2_mrsf_data_t->type~int2_fock_data_t type~int2_rhf_data_t int2_rhf_data_t type~int2_rhf_data_t->type~int2_fock_data_t type~int2_rpagrd_data_t int2_rpagrd_data_t type~int2_rpagrd_data_t->type~int2_fock_data_t type~int2_td_data_t int2_td_data_t type~int2_td_data_t->type~int2_fock_data_t type~int2_urohf_data_t int2_urohf_data_t type~int2_urohf_data_t->type~int2_fock_data_t type~xc_consumer_gxc_t xc_consumer_gxc_t type~xc_consumer_gxc_t->type~xc_consumer_tde_t type~int2_tdgrd_data_t int2_tdgrd_data_t type~int2_tdgrd_data_t->type~int2_td_data_t

Components

Type Visibility Attributes Name Initial
integer(kind=PARALLEL_INT), public :: comm = MPI_COMM_NULL
integer(kind=PARALLEL_INT), public :: rank = 0
integer(kind=PARALLEL_INT), public :: size = 1
integer(kind=PARALLEL_INT), public :: err = 0
logical(kind=c_bool), public :: use_mpi = .false.

Type-Bound Procedures

procedure, public, pass(self) :: init => par_env_t_init

  • private subroutine par_env_t_init(self, comm, use_mpi)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=PARALLEL_INT), intent(in) :: comm
    logical(kind=c_bool), intent(in) :: use_mpi

procedure, public, pass(self) :: barrier => par_env_t_barrier

  • private subroutine par_env_t_barrier(self)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t) :: self

procedure, public, pass(self) :: get_hostnames

  • private subroutine get_hostnames(self, node_info_str)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    character(len=:), intent(inout), allocatable :: node_info_str

procedure, public, pass(self) :: par_env_t_bcast_int32_scalar

  • private subroutine par_env_t_bcast_int32_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_int32_scalar

  • private subroutine par_env_t_allreduce_int32_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_int32_1d

  • private subroutine par_env_t_bcast_int32_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_int32_1d

  • private subroutine par_env_t_allreduce_int32_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer(:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_int64_scalar

  • private subroutine par_env_t_bcast_int64_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_int64_scalar

  • private subroutine par_env_t_allreduce_int64_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_int64_1d

  • private subroutine par_env_t_bcast_int64_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_int64_1d

  • private subroutine par_env_t_allreduce_int64_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer(:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_dp_scalar

  • private subroutine par_env_t_bcast_dp_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_dp_scalar

  • private subroutine par_env_t_allreduce_dp_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_dp_1d

  • private subroutine par_env_t_bcast_dp_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_dp_1d

  • private subroutine par_env_t_allreduce_dp_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_dp_2d

  • private subroutine par_env_t_bcast_dp_2d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_dp_2d

  • private subroutine par_env_t_allreduce_dp_2d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_dp_3d

  • private subroutine par_env_t_bcast_dp_3d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_dp_3d

  • private subroutine par_env_t_allreduce_dp_3d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_dp_4d

  • private subroutine par_env_t_bcast_dp_4d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_dp_4d

  • private subroutine par_env_t_allreduce_dp_4d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:,:)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_byte

  • private subroutine par_env_t_bcast_byte(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    character(kind=c_char, len=1), intent(inout) :: buffer(*)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_byte

  • private subroutine par_env_t_allreduce_byte(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    character(kind=c_char, len=1), intent(inout) :: buffer(*)
    integer, intent(in) :: length

procedure, public, pass(self) :: par_env_t_bcast_c_bool

  • private subroutine par_env_t_bcast_c_bool(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    logical(kind=c_bool), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root

procedure, public, pass(self) :: par_env_t_allreduce_c_bool

  • private subroutine par_env_t_allreduce_c_bool(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    logical(kind=c_bool), intent(inout) :: buffer
    integer, intent(in) :: length
  • private subroutine par_env_t_bcast_int32_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_int32_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_int64_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_int64_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_dp_scalar(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_dp_1d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_dp_2d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_dp_3d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_dp_4d(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:,:)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_byte(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    character(kind=c_char, len=1), intent(inout) :: buffer(*)
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_bcast_c_bool(self, buffer, length, root)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    logical(kind=c_bool), intent(inout) :: buffer
    integer, intent(in) :: length
    integer(kind=PARALLEL_INT), intent(in), optional :: root
  • private subroutine par_env_t_allreduce_int32_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_int32_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int32), intent(inout) :: buffer(:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_int64_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_int64_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    integer(kind=int64), intent(inout) :: buffer(:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_dp_scalar(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_dp_1d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_dp_2d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_dp_3d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_dp_4d(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    real(kind=dp), intent(inout) :: buffer(:,:,:,:)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_byte(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    character(kind=c_char, len=1), intent(inout) :: buffer(*)
    integer, intent(in) :: length
  • private subroutine par_env_t_allreduce_c_bool(self, buffer, length)

    Arguments

    Type IntentOptional Attributes Name
    class(par_env_t), intent(inout) :: self
    logical(kind=c_bool), intent(inout) :: buffer
    integer, intent(in) :: length

Source Code

  type :: par_env_t

    integer(PARALLEL_INT) :: comm = MPI_COMM_NULL
    integer(PARALLEL_INT) :: rank = 0
    integer(PARALLEL_INT) :: size = 1
    integer(PARALLEL_INT) :: err = 0

    logical(c_bool) :: use_mpi = .false.

    contains

      procedure, pass(self) :: init => par_env_t_init
      procedure, pass(self) :: barrier => par_env_t_barrier
      procedure, pass(self) :: get_hostnames

      procedure, pass(self) :: par_env_t_bcast_int32_scalar
      procedure, pass(self) :: par_env_t_allreduce_int32_scalar
      procedure, pass(self) :: par_env_t_bcast_int32_1d
      procedure, pass(self) :: par_env_t_allreduce_int32_1d
      procedure, pass(self) :: par_env_t_bcast_int64_scalar
      procedure, pass(self) :: par_env_t_allreduce_int64_scalar
      procedure, pass(self) :: par_env_t_bcast_int64_1d
      procedure, pass(self) :: par_env_t_allreduce_int64_1d
      procedure, pass(self) :: par_env_t_bcast_dp_scalar
      procedure, pass(self) :: par_env_t_allreduce_dp_scalar
      procedure, pass(self) :: par_env_t_bcast_dp_1d
      procedure, pass(self) :: par_env_t_allreduce_dp_1d
      procedure, pass(self) :: par_env_t_bcast_dp_2d
      procedure, pass(self) :: par_env_t_allreduce_dp_2d
      procedure, pass(self) :: par_env_t_bcast_dp_3d
      procedure, pass(self) :: par_env_t_allreduce_dp_3d
      procedure, pass(self) :: par_env_t_bcast_dp_4d
      procedure, pass(self) :: par_env_t_allreduce_dp_4d
      procedure, pass(self) :: par_env_t_bcast_byte
      procedure, pass(self) :: par_env_t_allreduce_byte
      procedure, pass(self) :: par_env_t_bcast_c_bool
      procedure, pass(self) :: par_env_t_allreduce_c_bool

      generic :: bcast => &
              par_env_t_bcast_int32_scalar,&
              par_env_t_bcast_int32_1d,&
              par_env_t_bcast_int64_scalar,&
              par_env_t_bcast_int64_1d,&
              par_env_t_bcast_dp_scalar,&
              par_env_t_bcast_dp_1d,&
              par_env_t_bcast_dp_2d,&
              par_env_t_bcast_dp_3d,&
              par_env_t_bcast_dp_4d,&
              par_env_t_bcast_byte,&
              par_env_t_bcast_c_bool

      generic :: allreduce => &
             par_env_t_allreduce_int32_scalar,&
             par_env_t_allreduce_int32_1d,&
             par_env_t_allreduce_int64_scalar,&
             par_env_t_allreduce_int64_1d,&
             par_env_t_allreduce_dp_scalar,&
             par_env_t_allreduce_dp_1d,&
             par_env_t_allreduce_dp_2d,&
             par_env_t_allreduce_dp_3d,&
             par_env_t_allreduce_dp_4d,&
             par_env_t_allreduce_byte,&
             par_env_t_allreduce_c_bool

end type par_env_t