Documentation for module cp_blacs_env

methods related to the blacs parallel environment

source: cp_blacs_env.F
Loading...

public Types:

cp_blacs_env_type
represent a blacs multidimensional parallel environment (for the mpi corrispective see cp_paratypes/cp_para_cart_type)

public Subroutines/Functions:

allocates and initializes a type that represent a blacs context
releases the given blacs_env
retains the given blacs env
writes the description of the given blacs env
Return informations about the specified BLACS context.

Parameters:

INTEGER
:: blacs_grid_col = 3
INTEGER
:: blacs_grid_row = 2
INTEGER
:: blacs_grid_square = 1

public Types:

TYPE :: cp_blacs_env_type

represent a blacs multidimensional parallel environment (for the mpi corrispective see cp_paratypes/cp_para_cart_type)


INTEGER,
DIMENSION(2) :: mepos the position of the actual processor (2D)
INTEGER,
DIMENSION(2) :: num_pe number of processors in the group in each dimension
INTEGER
:: group id of the actual group (context, communicator)
INTEGER
:: my_pid process id of the actual processor
INTEGER
:: n_pid number of process ids
INTEGER
:: ref_count the reference count, when it is zero this object gets deallocated
POINTER :: para_env ...
INTEGER,
DIMENSION(:,:), POINTER :: blacs2mpi maps mepos(1)-mepos(2) of blacs to its mpi rank
INTEGER,
DIMENSION(:,:), POINTER :: mpi2blacs (i,rank): maps the mpi rank to the mepos(i)
LOGICAL
:: repeatable ...

SUBROUTINEcp_blacs_env_create(blacs_env, para_env, blacs_grid_layout, blacs_repeatable, row_major, grid_2d)

allocates and initializes a type that represent a blacs context

Arguments:
POINTER
:: blacs_env the type to initialize
POINTER
:: para_env the para_env for which a blacs env should be created
INTEGER,
INTENT(in),
OPTIONAL
:: blacs_grid_layout ...
LOGICAL,
INTENT(in),
OPTIONAL
:: blacs_repeatable ...
LOGICAL,
INTENT(in),
OPTIONAL
:: row_major ...
INTEGER,
INTENT(in),
OPTIONAL
:: grid_2d(:) ...

SUBROUTINEcp_blacs_env_release(blacs_env)

releases the given blacs_env

Arguments:
POINTER
:: blacs_env the blacs env to relase

SUBROUTINEcp_blacs_env_retain(blacs_env)

retains the given blacs env

Arguments:
POINTER
:: blacs_env the blacs env to retain

SUBROUTINEcp_blacs_env_write(blacs_env, unit_nr)

writes the description of the given blacs env

Arguments:
POINTER
:: blacs_env the blacs environment to write
INTEGER,
INTENT(in)
:: unit_nr the unit number where to write the description of the blacs environment

SUBROUTINEget_blacs_info(blacs_env, my_process_row, my_process_column, my_process_number, number_of_process_rows, number_of_process_columns, number_of_processes, para_env, blacs2mpi, mpi2blacs)

Return informations about the specified BLACS context.

Arguments:
POINTER
:: blacs_env ...
INTEGER,
INTENT(out),
OPTIONAL
:: my_process_row ...
INTEGER,
INTENT(out),
OPTIONAL
:: my_process_column ...
INTEGER,
INTENT(out),
OPTIONAL
:: my_process_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: number_of_process_rows ...
INTEGER,
INTENT(out),
OPTIONAL
:: number_of_process_columns ...
INTEGER,
INTENT(out),
OPTIONAL
:: number_of_processes ...
OPTIONAL, POINTER
:: para_env ...
INTEGER,
OPTIONAL, POINTER
:: blacs2mpi(:,:) ...
INTEGER,
OPTIONAL, POINTER
:: mpi2blacs(:,:) ...