| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | communicator | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| character(len=*), | intent(in), | optional | :: | base_name |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | communicator | |||
| integer, | intent(in) | :: | n_members | |||
| integer, | intent(in) | :: | npes_member | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| logical, | intent(in), | optional | :: | isolate_nodes | ||
| character(len=*), | intent(in), | optional | :: | base_name |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(inout) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(in), | optional | :: | npes | ||
| integer, | intent(in), | optional | :: | nnodes | ||
| logical, | intent(in), | optional | :: | isolate_nodes | ||
| integer, | intent(in), | optional | :: | npes_per_node | ||
| character(len=*), | intent(in), | optional | :: | name | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(inout) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(in), | optional | :: | npes | ||
| integer, | intent(in), | optional | :: | nnodes | ||
| logical, | intent(in), | optional | :: | isolate_nodes | ||
| integer, | intent(in), | optional | :: | npes_per_node | ||
| character(len=*), | intent(in), | optional | :: | name | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(inout) | :: | this | |||
| type(SimpleCommSplitter), | intent(in) | :: | from |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(inout) | :: | this | |||
| type(SimpleCommSplitter), | intent(in) | :: | from |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(in) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(in) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(in) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractCommSplitter), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractCommSplitter), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | shared_communicator |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(SimpleCommSplitter), | intent(in) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
type, extends(AbstractCommSplitter) :: SimpleCommSplitter private character(:), allocatable :: base_name type (CommGroupDescriptionVector) :: group_descriptions logical :: is_split = .false. integer :: sub_comm contains procedure :: split procedure :: add_group_simple generic :: add_group => add_group_simple procedure :: compute_color procedure :: get_node_sizes procedure :: get_node_id procedure :: free_sub_comm procedure :: assign generic :: assignment(=) =>assign end type SimpleCommSplitter