The low level module to work with the PFFT library. http:
More...
The low level module to work with the PFFT library. http:
|
subroutine, public | pfft_decompose (n_proc, dim1, dim2) |
| Decompose all available processors in 2D processor grid, most equally possible. More...
|
|
subroutine, public | pfft_prepare_plan_r2c (plan, n, in, out, sign, flags, mpi_comm) |
| Octopus subroutine to prepare a PFFT plan real to complex. More...
|
|
subroutine, public | pfft_prepare_plan_c2r (plan, n, in, out, sign, flags, mpi_comm) |
| Octopus subroutine to prepare a PFFT plan real to complex. More...
|
|
subroutine, public | pfft_prepare_plan_c2c (plan, n, in, out, sign, flags, mpi_comm) |
| Octopus subroutine to prepare a PFFT plan real to complex. More...
|
|
subroutine, public | pfft_get_dims (rs_n_global, mpi_comm, is_real, alloc_size, fs_n_global, rs_n, fs_n, rs_istart, fs_istart) |
|
◆ pfft_decompose()
subroutine, public pfft_oct_m::pfft_decompose |
( |
integer, intent(in) |
n_proc, |
|
|
integer, intent(out) |
dim1, |
|
|
integer, intent(out) |
dim2 |
|
) |
| |
Decompose all available processors in 2D processor grid, most equally possible.
- Parameters
-
[in] | n_proc | Number of processors |
[out] | dim1 | First out dimension |
[out] | dim2 | Second out dimension |
Definition at line 187 of file pfft.F90.
◆ pfft_prepare_plan_r2c()
subroutine, public pfft_oct_m::pfft_prepare_plan_r2c |
( |
type(c_ptr), intent(out) |
plan, |
|
|
integer, dimension(:), intent(in) |
n, |
|
|
real(real64), dimension(:,:,:), intent(inout), pointer |
in, |
|
|
complex(real64), dimension(:,:,:), intent(inout), pointer |
out, |
|
|
integer, intent(in) |
sign, |
|
|
integer, intent(in) |
flags, |
|
|
integer, intent(in) |
mpi_comm |
|
) |
| |
Octopus subroutine to prepare a PFFT plan real to complex.
- Parameters
-
[out] | plan | The plan that is created by PFFT |
[in] | n | The size of the global matrix |
[in,out] | in | The input matrix that is going to be used to do the transform |
[in,out] | out | The output matrix that is going to be used to do the transform |
[in] | sign | Sign flag to decide FFT direction. Has to be FFTW_FORWARD |
[in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE |
[in] | mpi_comm | MPI communicator |
Definition at line 228 of file pfft.F90.
◆ pfft_prepare_plan_c2r()
subroutine, public pfft_oct_m::pfft_prepare_plan_c2r |
( |
type(c_ptr), intent(out) |
plan, |
|
|
integer, dimension(:), intent(in) |
n, |
|
|
complex(real64), dimension(:,:,:), intent(inout), pointer |
in, |
|
|
real(real64), dimension(:,:,:), intent(inout), pointer |
out, |
|
|
integer, intent(in) |
sign, |
|
|
integer, intent(in) |
flags, |
|
|
integer, intent(in) |
mpi_comm |
|
) |
| |
Octopus subroutine to prepare a PFFT plan real to complex.
- Parameters
-
[out] | plan | The plan that is created by PFFT |
[in] | n | The size of the global matrix |
[in,out] | in | The input matrix that is going to be used to do the transform |
[in,out] | out | The output matrix that is going to be used to do the transform |
[in] | sign | Sign flag to decide FFT direction. Has to be FFTW_BACKWARD |
[in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE |
[in] | mpi_comm | MPI communicator |
Definition at line 262 of file pfft.F90.
◆ pfft_prepare_plan_c2c()
subroutine, public pfft_oct_m::pfft_prepare_plan_c2c |
( |
type(c_ptr), intent(out) |
plan, |
|
|
integer, dimension(:), intent(in) |
n, |
|
|
complex(real64), dimension(:,:,:), intent(inout), pointer |
in, |
|
|
complex(real64), dimension(:,:,:), intent(inout), pointer |
out, |
|
|
integer, intent(in) |
sign, |
|
|
integer, intent(in) |
flags, |
|
|
integer, intent(in) |
mpi_comm |
|
) |
| |
Octopus subroutine to prepare a PFFT plan real to complex.
- Parameters
-
[out] | plan | The plan that is created by PFFT |
[in] | n | The size of the global matrix |
[in,out] | in | The input matrix that is going to be used to do the transform |
[in,out] | out | The output matrix that is going to be used to do the transform |
[in] | sign | Sign flag to decide FFT direction. |
[in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE |
[in] | mpi_comm | MPI communicator |
Definition at line 297 of file pfft.F90.
◆ pfft_get_dims()
subroutine, public pfft_oct_m::pfft_get_dims |
( |
integer, dimension(1:3), intent(in) |
rs_n_global, |
|
|
integer, intent(in) |
mpi_comm, |
|
|
logical, intent(in) |
is_real, |
|
|
integer(int64), intent(out) |
alloc_size, |
|
|
integer, dimension(1:3), intent(out) |
fs_n_global, |
|
|
integer, dimension(1:3), intent(out) |
rs_n, |
|
|
integer, dimension(1:3), intent(out) |
fs_n, |
|
|
integer, dimension(1:3), intent(out) |
rs_istart, |
|
|
integer, dimension(1:3), intent(out) |
fs_istart |
|
) |
| |
- Parameters
-
[in] | rs_n_global | The general number of elements in each dimension in real space |
[in] | mpi_comm | MPI comunicator |
[in] | is_real | The input is real or complex |
[out] | alloc_size | Number of elements that has to be allocated locally |
[out] | fs_n_global | The general number of elements in each dimension in Fourier space |
[out] | rs_n | Local number of elements in each direction in real space |
[out] | fs_n | Local number of elements in each direction in Fourier space |
[out] | rs_istart | Where does the local portion of the function start in real space |
[out] | fs_istart | Where does the local portion of the function start in Fourier space |
Definition at line 334 of file pfft.F90.