![]() |
(git:ec11232)
|
represent the structure of a full matrix More...
Data Types | |
| type | cp_fm_struct_p_type |
| type | cp_fm_struct_type |
| keeps the information about the structure of a full matrix More... | |
Functions/Subroutines | |
| subroutine, public | cp_fm_struct_create (fmstruct, para_env, context, nrow_global, ncol_global, nrow_block, ncol_block, descriptor, first_p_pos, local_leading_dimension, template_fmstruct, square_blocks, force_block) |
| allocates and initializes a full matrix structure | |
| subroutine, public | cp_fm_struct_retain (fmstruct) |
| retains a full matrix structure | |
| subroutine, public | cp_fm_struct_release (fmstruct) |
| releases a full matrix structure | |
| logical function, public | cp_fm_struct_equivalent (fmstruct1, fmstruct2) |
| returns true if the two matrix structures are equivalent, false otherwise. | |
| subroutine, public | cp_fm_struct_get (fmstruct, para_env, context, descriptor, ncol_block, nrow_block, nrow_global, ncol_global, first_p_pos, row_indices, col_indices, nrow_local, ncol_local, nrow_locals, ncol_locals, local_leading_dimension) |
| returns the values of various attributes of the matrix structure | |
| subroutine, public | cp_fm_struct_write_info (fmstruct, io_unit) |
| Write nicely formatted info about the FM struct to the given I/O unit. | |
| subroutine, public | cp_fm_struct_double (fmstruct, struct, context, col, row) |
| creates a struct with twice the number of blocks on each core. If matrix A has to be multiplied with B anc C, a significant speedup of pdgemm can be acchieved by joining the matrices in a new one with this structure (see arnoldi in rt_matrix_exp) | |
| subroutine, public | cp_fm_struct_config (nrow_block, ncol_block, force_block) |
| allows to modify the default settings for matrix creation | |
| integer function, public | cp_fm_struct_get_nrow_block () |
| ... | |
| integer function, public | cp_fm_struct_get_ncol_block () |
| ... | |
represent the structure of a full matrix
| subroutine, public cp_fm_struct::cp_fm_struct_create | ( | type(cp_fm_struct_type), pointer | fmstruct, |
| type(mp_para_env_type), optional, target | para_env, | ||
| type(cp_blacs_env_type), optional, target | context, | ||
| integer, intent(in), optional | nrow_global, | ||
| integer, intent(in), optional | ncol_global, | ||
| integer, intent(in), optional | nrow_block, | ||
| integer, intent(in), optional | ncol_block, | ||
| integer, dimension(9), intent(in), optional | descriptor, | ||
| integer, dimension(2), optional | first_p_pos, | ||
| integer, intent(in), optional | local_leading_dimension, | ||
| type(cp_fm_struct_type), optional, pointer | template_fmstruct, | ||
| logical, intent(in), optional | square_blocks, | ||
| logical, intent(in), optional | force_block | ||
| ) |
allocates and initializes a full matrix structure
| fmstruct | the pointer that will point to the new structure |
| para_env | the parallel environment |
| context | the blacs context of this matrix |
| nrow_global | the number of row of the full matrix |
| ncol_global | the number of columns of the full matrix |
| nrow_block | the number of rows of a block of the matrix, omit or set to -1 to use the built-in defaults |
| ncol_block | the number of columns of a block of the matrix, omit or set to -1 to use the built-in defaults |
| descriptor | the scalapack descriptor of the matrix (if not given a new one is allocated |
| first_p_pos | ... |
| local_leading_dimension | the leading dimension of the locally stored data block |
| template_fmstruct | a matrix structure where to take the default values |
| square_blocks | ... |
| force_block | ... |
Definition at line 129 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_retain | ( | type(cp_fm_struct_type), intent(inout) | fmstruct | ) |
retains a full matrix structure
| fmstruct | the structure to retain |
Definition at line 336 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_release | ( | type(cp_fm_struct_type), pointer | fmstruct | ) |
releases a full matrix structure
| fmstruct | the structure to release |
Definition at line 350 of file cp_fm_struct.F.
| logical function, public cp_fm_struct::cp_fm_struct_equivalent | ( | type(cp_fm_struct_type), pointer | fmstruct1, |
| type(cp_fm_struct_type), pointer | fmstruct2 | ||
| ) |
returns true if the two matrix structures are equivalent, false otherwise.
| fmstruct1 | one of the full matrix structures to compare |
| fmstruct2 | the second of the full matrix structures to compare |
Definition at line 387 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_get | ( | type(cp_fm_struct_type), intent(in) | fmstruct, |
| type(mp_para_env_type), optional, pointer | para_env, | ||
| type(cp_blacs_env_type), optional, pointer | context, | ||
| integer, dimension(9), intent(out), optional | descriptor, | ||
| integer, intent(out), optional | ncol_block, | ||
| integer, intent(out), optional | nrow_block, | ||
| integer, intent(out), optional | nrow_global, | ||
| integer, intent(out), optional | ncol_global, | ||
| integer, dimension(2), intent(out), optional | first_p_pos, | ||
| integer, dimension(:), optional, pointer | row_indices, | ||
| integer, dimension(:), optional, pointer | col_indices, | ||
| integer, intent(out), optional | nrow_local, | ||
| integer, intent(out), optional | ncol_local, | ||
| integer, dimension(:), optional, pointer | nrow_locals, | ||
| integer, dimension(:), optional, pointer | ncol_locals, | ||
| integer, intent(out), optional | local_leading_dimension | ||
| ) |
returns the values of various attributes of the matrix structure
| fmstruct | the structure you want info about |
| para_env | ... |
| context | ... |
| descriptor | ... |
| ncol_block | ... |
| nrow_block | ... |
| nrow_global | ... |
| ncol_global | ... |
| first_p_pos | ... |
| row_indices | ... |
| col_indices | ... |
| nrow_local | ... |
| ncol_local | ... |
| nrow_locals | ... |
| ncol_locals | ... |
| local_leading_dimension | ... |
Definition at line 435 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_write_info | ( | type(cp_fm_struct_type), intent(in) | fmstruct, |
| integer, intent(in) | io_unit | ||
| ) |
Write nicely formatted info about the FM struct to the given I/O unit.
| fmstruct | a cp_fm_struct_type instance |
| io_unit | the I/O unit to use for writing |
Definition at line 477 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_double | ( | type(cp_fm_struct_type), pointer | fmstruct, |
| type(cp_fm_struct_type), intent(inout) | struct, | ||
| type(cp_blacs_env_type), intent(inout), target | context, | ||
| logical, intent(in) | col, | ||
| logical, intent(in) | row | ||
| ) |
creates a struct with twice the number of blocks on each core. If matrix A has to be multiplied with B anc C, a significant speedup of pdgemm can be acchieved by joining the matrices in a new one with this structure (see arnoldi in rt_matrix_exp)
| fmstruct | the struct to create |
| struct | struct of either A or B |
| context | ... |
| col | in which direction the matrix should be enlarged |
| row | in which direction the matrix should be enlarged |
Definition at line 522 of file cp_fm_struct.F.
| subroutine, public cp_fm_struct::cp_fm_struct_config | ( | integer, intent(in), optional | nrow_block, |
| integer, intent(in), optional | ncol_block, | ||
| logical, intent(in), optional | force_block | ||
| ) |
allows to modify the default settings for matrix creation
| nrow_block | ... |
| ncol_block | ... |
| force_block | ... |
Definition at line 618 of file cp_fm_struct.F.
| integer function, public cp_fm_struct::cp_fm_struct_get_nrow_block |
...
Definition at line 643 of file cp_fm_struct.F.
| integer function, public cp_fm_struct::cp_fm_struct_get_ncol_block |
...
Definition at line 653 of file cp_fm_struct.F.