![]() |
Octopus
|
Data Types | |
| interface | partition_get_partition_number |
| type | partition_t |
| The partition is an array that contains the mapping between some global index and a process, such that point ip will be stored in process partitionpart(ip). More... | |
Functions/Subroutines | |
| subroutine, public | partition_init (partition, np_global, mpi_grp) |
| initialize the partition table More... | |
| subroutine, public | partition_end (partition) |
| subroutine, public | partition_set (partition, part) |
| subroutine, public | partition_dump (partition, dir, filename, ierr) |
| write the partition data More... | |
| subroutine, public | partition_load (partition, dir, filename, ierr) |
| read the partition data More... | |
| subroutine, public | partition_get_local_size (partition, istart, np_local) |
| subroutine, public | partition_get_global (partition, part_global, root) |
| Returns the global partition. If root is present, the partition is gathered only in that node. Otherwise it is gathered in all nodes. More... | |
| subroutine | partition_get_partition_number_4 (partition, np, points, partno) |
| Given a list of global indices, return the partition number where those points are stored. Note that this routine will accept global indices equal to 0. In that case it will return 0 as a partition number. More... | |
| subroutine | partition_get_partition_number_8 (partition, np, points, partno) |
| subroutine, public | partition_get_np_local (partition, np_local_vec) |
| Given the partition, returns the corresponding number of local points that each partition has. More... | |
| pure integer function, public | partition_get_npart (partition) |
| Returns the total number of partitions. More... | |
| pure integer function, public | partition_get_part (partition, local_point) |
| Returns the partition of the local point. More... | |
| pure integer function | partition_get_number (partition, global_point) |
| Returns the partition number for a given global index If the index is zero, return local partition. More... | |
| subroutine, public | partition_get_local (partition, rbuffer, np_local) |
| Calculates the local vector of all partitions in parallel. Local vector stores the global point indices that each partition has. More... | |
| subroutine, public partition_oct_m::partition_init | ( | type(partition_t), intent(out) | partition, |
| integer(int64), intent(in) | np_global, | ||
| type(mpi_grp_t), intent(in) | mpi_grp | ||
| ) |
initialize the partition table
| [out] | partition | the partition table |
| [in] | np_global | total number of points to distribute |
| [in] | mpi_grp | the mpi groups |
Definition at line 194 of file partition.F90.
| subroutine, public partition_oct_m::partition_end | ( | type(partition_t), intent(inout) | partition | ) |
Definition at line 231 of file partition.F90.
| subroutine, public partition_oct_m::partition_set | ( | type(partition_t), intent(inout) | partition, |
| integer, dimension(:), intent(in) | part | ||
| ) |
| [in] | part | The local portion of the partition. |
Definition at line 242 of file partition.F90.
| subroutine, public partition_oct_m::partition_dump | ( | type(partition_t), intent(in) | partition, |
| character(len=*), intent(in) | dir, | ||
| character(len=*), intent(in) | filename, | ||
| integer, intent(out) | ierr | ||
| ) |
write the partition data
Partition is written in parallel if MPI2 is available. Otherwise, is gathered in root and then written.
Definition at line 259 of file partition.F90.
| subroutine, public partition_oct_m::partition_load | ( | type(partition_t), intent(inout) | partition, |
| character(len=*), intent(in) | dir, | ||
| character(len=*), intent(in) | filename, | ||
| integer, intent(out) | ierr | ||
| ) |
read the partition data
Partition is read in parallel if MPI2 is available. Otherwise, is read by the root and then scattered
Definition at line 304 of file partition.F90.
| subroutine, public partition_oct_m::partition_get_local_size | ( | type(partition_t), intent(in) | partition, |
| integer(int64), intent(out) | istart, | ||
| integer, intent(out) | np_local | ||
| ) |
| [out] | istart | The number of points of the partition stored in this process. |
| [out] | np_local | The position of the first point stored in this process. |
Definition at line 372 of file partition.F90.
| subroutine, public partition_oct_m::partition_get_global | ( | type(partition_t), intent(in) | partition, |
| integer, dimension(:), intent(out) | part_global, | ||
| integer, intent(in), optional | root | ||
| ) |
Returns the global partition. If root is present, the partition is gathered only in that node. Otherwise it is gathered in all nodes.
Definition at line 388 of file partition.F90.
|
private |
Given a list of global indices, return the partition number where those points are stored. Note that this routine will accept global indices equal to 0. In that case it will return 0 as a partition number.
Definition at line 433 of file partition.F90.
|
private |
Definition at line 528 of file partition.F90.
| subroutine, public partition_oct_m::partition_get_np_local | ( | type(partition_t), intent(in) | partition, |
| integer, dimension(:), intent(inout), contiguous | np_local_vec | ||
| ) |
Given the partition, returns the corresponding number of local points that each partition has.
| [in] | partition | Current partition |
| [in,out] | np_local_vec | Vector of local points (np_local) |
Definition at line 554 of file partition.F90.
| pure integer function, public partition_oct_m::partition_get_npart | ( | type(partition_t), intent(in) | partition | ) |
Returns the total number of partitions.
Definition at line 583 of file partition.F90.
| pure integer function, public partition_oct_m::partition_get_part | ( | type(partition_t), intent(in) | partition, |
| integer, intent(in) | local_point | ||
| ) |
Returns the partition of the local point.
Definition at line 590 of file partition.F90.
|
private |
Returns the partition number for a given global index If the index is zero, return local partition.
Definition at line 599 of file partition.F90.
| subroutine, public partition_oct_m::partition_get_local | ( | type(partition_t), intent(in) | partition, |
| integer(int64), dimension(:), intent(inout), contiguous | rbuffer, | ||
| integer, intent(out) | np_local | ||
| ) |
Calculates the local vector of all partitions in parallel. Local vector stores the global point indices that each partition has.
| [in,out] | rbuffer | The actual result, the local vector from 1 to np_local |
| [out] | np_local | Number of elements, might be less than partitionnp_local |
Definition at line 614 of file partition.F90.