ORB5  4.00
Loading...
Searching...
No Matches
sorting_mod Module Reference

Module containing sorting routines. More...

Data Types

interface  sorting_class

Functions/Subroutines

type(sorting_class) function constructor (npalloc, nl_inplace, ndim, xmin, xmax, nx, ymin, ymax, ny, zmin, zmax, nz)
 Sorting constructor.
subroutine init_gpu (sorting)
 Allocate arrays on GPU (to be called after constructor).
subroutine build_permutation (sorting, np, x, y, z)
 Build permutation (to be called before applying sorting).
subroutine apply_real (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert)
 Apply (un)sorting to marker real attributes (from template sorting_apply.inc).
subroutine apply_real4 (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert)
 Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc).
subroutine apply_logical (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert)
 Apply (un)sorting to marker logical attributes (from template sorting_apply.inc).
subroutine apply_integer8 (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert)
 Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc).
subroutine apply_real_inplace (sorting, markers, np, start_att, end_att, nl_revert)
 Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc).
subroutine apply_real4_inplace (sorting, markers, np, start_att, end_att, nl_revert)
 Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc).
subroutine apply_logical_inplace (sorting, markers, np, start_att, end_att, nl_revert)
 Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc).
subroutine apply_integer8_inplace (sorting, markers, np, start_att, end_att, nl_revert)
 Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc).

Detailed Description

Module containing sorting routines.

Authors
Noé Ohana, EPFL
Andreas Jocksch, CSCS
Emmanuel Lanti, EPFL
Date
06.2018

Function/Subroutine Documentation

◆ apply_integer8()

subroutine sorting_mod::apply_integer8 ( sorting,
markers,
sorted_markers,
np,
start_att,
end_att,
nl_revert )
private

Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_integer8_inplace()

subroutine sorting_mod::apply_integer8_inplace ( sorting,
markers,
np,
start_att,
end_att,
nl_revert )
private

Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_logical()

subroutine sorting_mod::apply_logical ( sorting,
markers,
sorted_markers,
np,
start_att,
end_att,
nl_revert )
private

Apply (un)sorting to marker logical attributes (from template sorting_apply.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_logical_inplace()

subroutine sorting_mod::apply_logical_inplace ( sorting,
markers,
np,
start_att,
end_att,
nl_revert )
private

Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_real()

subroutine sorting_mod::apply_real ( sorting,
markers,
sorted_markers,
np,
start_att,
end_att,
nl_revert )
private

Apply (un)sorting to marker real attributes (from template sorting_apply.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_real4()

subroutine sorting_mod::apply_real4 ( sorting,
markers,
sorted_markers,
np,
start_att,
end_att,
nl_revert )
private

Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_real4_inplace()

subroutine sorting_mod::apply_real4_inplace ( sorting,
markers,
np,
start_att,
end_att,
nl_revert )
private

Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ apply_real_inplace()

subroutine sorting_mod::apply_real_inplace ( sorting,
markers,
np,
start_att,
end_att,
nl_revert )
private

Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc).

Author
N. Ohana
Date
06/2018
Here is the caller graph for this function:

◆ build_permutation()

subroutine sorting_mod::build_permutation ( class(sorting_class), intent(inout) sorting,
integer, intent(in) np,
real(kind=r8), dimension(:), intent(in) x,
real(kind=r8), dimension(:), intent(in), optional y,
real(kind=r8), dimension(:), intent(in), optional z )
private

Build permutation (to be called before applying sorting).

Author
N. Ohana
Date
06/2018
Parameters
[in]npNumber of particles to sort
[in]xMarker positions in first dimension
[in]yMarker positions in second dimension
[in]zMarker positions in third dimension
Here is the call graph for this function:

◆ constructor()

type(sorting_class) function sorting_mod::constructor ( integer, intent(in) npalloc,
logical, intent(in) nl_inplace,
integer, intent(in) ndim,
real(kind=r8), intent(in) xmin,
real(kind=r8), intent(in) xmax,
integer, intent(in) nx,
real(kind=r8), intent(in), optional ymin,
real(kind=r8), intent(in), optional ymax,
integer, intent(in), optional ny,
real(kind=r8), intent(in), optional zmin,
real(kind=r8), intent(in), optional zmax,
integer, intent(in), optional nz )
private

Sorting constructor.

Author
N. Ohana
Date
06/2018
Parameters
[in]npallocMaximal number of markers that will be sorted
[in]nl_inplaceApply in-place sorting
[in]ndimNumber of dimensions
[in]xminLower bound of first dimension
[in]xmaxUpper bound of first dimension
[in]nxNumber of bins in first dimension
[in]yminLower bound of second dimension if ndim>=2
[in]ymaxUpper bound of second dimension if ndim>=2
[in]nyNumber of bins in second dimension if ndim>=2
[in]zminLower bound of third dimension if ndim>=3
[in]zmaxUpper bound of third dimension if ndim>=3
[in]nzNumber of bins in third dimension if ndim>=3
Here is the caller graph for this function:

◆ init_gpu()

subroutine sorting_mod::init_gpu ( class(sorting_class), intent(inout) sorting)
private

Allocate arrays on GPU (to be called after constructor).

Author
N. Ohana
Date
06/2018
Note
Those directives do not work (code crashes) if they are in the constructor.