multi-level 1-dim partitioner
More...
|
recursive subroutine | ppm_m1d::vec_deco (wload, dstart, dend, nproc, refine) |
| private subroutine to calulate the solution of the 1-dim decomposition problem
|
|
subroutine | ppm_m1d::gen_dstart (dstart, dend) |
| private subroutine to calculate the start marks from end marks of connected intervals
|
|
subroutine, public | ppm_m1d::d1_deco (wload, dstart, dend, nproc, idim, refine) |
| Partially solve a two dimensional decomposition problem along one dimension only.
|
|
subroutine, public | ppm_m1d::d2_deco (wload, pbounds, major_dim, refine) |
| Solve a two dimensional decomposition problem.
|
|
subroutine | ppm_m1d::refine_c1d (wload, em, pload, nchange) |
| refine a contiguous 1dim-decomposition
|
|
|
type(xy_bounds_t), parameter, public | ppm_m1d::zero_xy_bounds =xy_bounds_t(1, 0, 1, 0) |
|
character(len= *), parameter | ppm_m1d::mcontext ='ppm_m1d' |
|
logical, parameter | ppm_m1d::debug =.FALSE. |
|
multi-level 1-dim partitioner
- Copyright
- Copyright (C) 2012 Joerg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e
- Version
- 1.0
- Author
- Joerg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e
◆ d1_deco()
subroutine, public ppm_m1d::d1_deco |
( |
real(dp), dimension(:,:) | wload, |
|
|
integer, dimension(:), intent(inout) | dstart, |
|
|
integer, dimension(:), intent(inout) | dend, |
|
|
integer, intent(in) | nproc, |
|
|
integer, intent(in) | idim, |
|
|
logical, intent(in) | refine ) |
Partially solve a two dimensional decomposition problem along one dimension only.
Along the selected dimension we get the optimal solution for elemental workloads in the limit of infinite resolution.
- Parameters
-
wload | workload for each element of the 2-dim domain |
dstart | start indices of parts |
dend | end indices of parts |
nproc | number of intervals |
idim | selected dimension |
refine | try to improve the decomposition for finite resolution |
◆ d2_deco()
subroutine, public ppm_m1d::d2_deco |
( |
real(dp), dimension(:,:), intent(in) | wload, |
|
|
type(xy_bounds_t), dimension(:,:), intent(out) | pbounds, |
|
|
integer, intent(in) | major_dim, |
|
|
logical, intent(in) | refine ) |
Solve a two dimensional decomposition problem.
Finds the optimal solution for elemental workloads in the limit of infinite resolution for the given process space
- Parameters
-
wload | workload for each element of the 2-dim domain |
pbounds | bounds for each process, array shape == process space shape |
major_dim | the dimension that is decomposed first |
refine | try to improve the decomposition for finite resolution |
◆ refine_c1d()
subroutine ppm_m1d::refine_c1d |
( |
real(dp), dimension(:), intent(in) | wload, |
|
|
integer, dimension(:), intent(inout) | em, |
|
|
real(dp), dimension(:), intent(inout) | pload, |
|
|
integer, intent(out), optional | nchange ) |
|
private |
refine a contiguous 1dim-decomposition
- Parameters
-
wload | workload for each element of the 1-dim domain |
em | end marks of each part |
pload | process load, must be valid or pload(1)<0 (in this case pload is recalculated from wload and em) |
nchange | number of changes made by this subroutine |
Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.