mirror of https://gitlab.com/QEF/q-e.git
The definitions of "backward" and "forward" FFT in on-line comments was
not consistent with what FFTs actually do in the code
This commit is contained in:
parent
0993320ece
commit
5c444d5a1d
|
@ -11,15 +11,15 @@ SUBROUTINE invfft_y( fft_kind, f, dfft, howmany )
|
|||
!! Compute G-space to R-space for a specific grid type
|
||||
!!
|
||||
!! **fft_kind = 'Rho'** :
|
||||
!! inverse fourier transform of potentials and charge density f
|
||||
!! inverse (backward) fourier transform of potentials and charge density f
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **fft_kind = 'Wave'** :
|
||||
!! inverse fourier transform of wave functions f
|
||||
!! inverse (backward) fourier transform of wave functions f
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **fft_kind = 'tgWave'** :
|
||||
!! inverse fourier transform of wave functions f with task group
|
||||
!! inverse (backward) fourier transform of wave functions f with task group
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **dfft = FFT grid descriptor**, IMPORTANT NOTICE: grid is specified only by dfft.
|
||||
|
@ -311,15 +311,15 @@ SUBROUTINE invfft_y_gpu( fft_kind, f_d, dfft, howmany, stream )
|
|||
!! Compute G-space to R-space for a specific grid type
|
||||
!!
|
||||
!! **fft_kind = 'Rho'** :
|
||||
!! inverse fourier transform of potentials and charge density f
|
||||
!! inverse (backward) fourier transform of potentials and charge density f
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **fft_kind = 'Wave'** :
|
||||
!! inverse fourier transform of wave functions f
|
||||
!! inverse (backward) fourier transform of wave functions f
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **fft_kind = 'tgWave'** :
|
||||
!! inverse fourier transform of wave functions f with task group
|
||||
!! inverse (backward) fourier transform of wave functions f with task group
|
||||
!! On output, f is overwritten
|
||||
!!
|
||||
!! **dfft = FFT grid descriptor**, IMPORTANT NOTICE: grid is specified only by dfft.
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c(ldz*nsl) (complex)
|
||||
! output : cout(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
|
||||
|
@ -248,7 +248,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c(ldz*nsl) (complex)
|
||||
! output : cout(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
|
||||
|
@ -192,7 +192,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c(ldz*nsl) (complex)
|
||||
! output : cout(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
|
||||
|
@ -194,7 +194,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c(ldz*nsl) (complex)
|
||||
! output : cout(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
|
||||
|
@ -185,7 +185,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c(ldz*nsl) (complex)
|
||||
! output : cout(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
|
||||
|
@ -166,7 +166,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
! ldz >= nz is the distance between sequences to be transformed
|
||||
! (ldz>nz is used on some architectures to reduce memory conflicts)
|
||||
! input : c_d(ldz*nsl) (complex)
|
||||
! ### GPU VERION IN PLACE!!! #### output : cout_d(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! ### GPU VERSION IN PLACE!!! #### output : cout_d(ldz*nsl) (complex - NOTA BENE: transform is not in-place!)
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nz, nsl, ldz) are stored and re-used if available
|
||||
#ifdef TRACK_FLOPS
|
||||
|
@ -178,7 +178,7 @@
|
|||
! 2d array: r2d(ldx, ldy) (x first dimension, y second dimension)
|
||||
! (ldx>nx, ldy>ny used on some architectures to reduce memory conflicts)
|
||||
! pl2ix(nx) (optional) is 1 for columns along y to be transformed
|
||||
! isign > 0 : forward (f(G)=>f(R)), isign <0 backward (f(R) => f(G))
|
||||
! isign > 0 : backward (f(G)=>f(R)), isign < 0 : forward (f(R) => f(G))
|
||||
! Up to "ndims" initializations (for different combinations of input
|
||||
! parameters nx,ny,nzl,ldx) are stored and re-used if available
|
||||
!#ifdef TRACK_FLOPS
|
||||
|
|
Loading…
Reference in New Issue