Commit Graph

13 Commits

Author SHA1 Message Date
giannozz 388e5e4b58 QE made ready to use MPI module instead of mpif.h include file. See the three
files Modules/parallel_include.f90, LAXlib/la_param.f90, FFTXlib/fft_param.f90
The latter two are now modules and are included as modules, no longer as files


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13183 c92efa57-630b-4861-b058-cf58834340f0
2016-11-25 14:11:28 +00:00
giannozz ffd752035d All include 'mpif.h' moved to a single place in fft_param.f90 like for LAXlib.
Should be completely harmless but please verify. File fft_param.f90 is now
included using #include "fft_param.f90", which is not nice, but preprocessing
doesn't work otherwise (fft_param.f90 contains an #if defined(__MPI)).
In order to generalize fft_param.f90 to use mpi module, more changes will be 
needed: modules must come before implicit none and all other  declarations
NOTE: test0.f90 doesn't compile, but it didn't compile before as well.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13178 c92efa57-630b-4861-b058-cf58834340f0
2016-11-24 08:22:39 +00:00
degironc f7cd893d9f - task group number added in ftt_type_set (called by data_structure) so that when task_groups are active the plane distribution is more even and leads to at most to a single plane different between different task_groups. minor clean_up of indices in scatter_mod
- no point in not perfroming task_group parallelization when m < ntask_group.
 - some more timing report if verbosity >0



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12963 c92efa57-630b-4861-b058-cf58834340f0
2016-09-15 07:41:30 +00:00
ccavazzoni 75cb15a76d - real space grid initialization moved to fft_types module
(it was acting only on descriptor variables, noneed to keep it into module)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency

- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
  some other grid functions removed/merged with fft types.
  Since some initialization has been moved elseware there could be some SIDE EFFECT

- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
  and variable allocation. 
  NEXT: review of the initialization/setting of the fft parallelization

- real space grid initialization subroutines moved to fft_types module
  (it was acting only on descriptor variables, no need to keep it in Modules)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency

- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
  some other grid functions removed/merged with fft types.
  Since some initialization has been moved elseware there could be some SIDE EFFECT

- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
  and variable allocation.
  NEXT: review of the initialization/setting of the fft parallelization



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12703 c92efa57-630b-4861-b058-cf58834340f0
2016-08-09 21:38:57 +00:00
ccavazzoni cc63ca6528 - more task groups clean-up
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12632 c92efa57-630b-4861-b058-cf58834340f0
2016-08-01 10:52:38 +00:00
ccavazzoni de2a01c4e6 - Task groups variables moved form FFT type to a new data type
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12626 c92efa57-630b-4861-b058-cf58834340f0
2016-07-29 14:25:22 +00:00
ccavazzoni 99275d2569 - small optimization for task group
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12291 c92efa57-630b-4861-b058-cf58834340f0
2016-04-09 15:01:59 +00:00
ccavazzoni f43ea25df1 ! this subroutine copy sticks stored in 1D array into the 3D array
! to be used with 3D FFT.
  ! This is meant for the use of 3D scalar FFT in parallel build
  ! once the data have been "rotated" to have a single band in a single task



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12289 c92efa57-630b-4861-b058-cf58834340f0
2016-04-08 09:21:11 +00:00
ccavazzoni 6adc76e45b - adding alternative block-like data distribution for the FFT,
can be compiled with macro __NEW_DISTRO
  (contributed by Eric Pascolo)
  


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12270 c92efa57-630b-4861-b058-cf58834340f0
2016-03-31 09:29:50 +00:00
ccavazzoni e1f2123acd - revert usage of INTENT(IN) for FFT data type
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12209 c92efa57-630b-4861-b058-cf58834340f0
2016-03-13 14:38:40 +00:00
ccavazzoni cd46c9be98 - Optimization to improve data locality in the scatter function,
for the time being available only when the __NON_BLOCKING_SCATTER macro is specified


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12204 c92efa57-630b-4861-b058-cf58834340f0
2016-03-11 09:24:23 +00:00
ccavazzoni 6a8dca07b7 - adding non blocking (using isend irecv) of ff_scatter routine
it can be compiled using __NON_BLOCKING_SCATTER preprocessor macro


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12202 c92efa57-630b-4861-b058-cf58834340f0
2016-03-10 11:05:20 +00:00
ccavazzoni fdf7766648 - FFT Modules replaced by FFTXlib
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11857 c92efa57-630b-4861-b058-cf58834340f0
2015-11-21 10:37:48 +00:00