Commit Graph

108 Commits

Author SHA1 Message Date
spigafi b217b8b927 Typo present since long time corrected
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13479 c92efa57-630b-4861-b058-cf58834340f0
2017-04-30 10:32:11 +00:00
giannozz 020ff6da6a MathKeisan FFT libraries for NEC machines declared obsolescent too hastily:
there is at least one such machine (in Kiel) running QE (and it works)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13469 c92efa57-630b-4861-b058-cf58834340f0
2017-04-19 15:33:48 +00:00
giannozz 80ec011c1d Recent fix to FFTXlib had some unintended side effects
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13445 c92efa57-630b-4861-b058-cf58834340f0
2017-03-28 17:27:41 +00:00
giannozz b98f36503c Well-hidden bug in FFTXlib when smooth and dense grids have the same FFT
dimensions along x and y but different along z, leading to strange crashes. 
Found by AdC.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13439 c92efa57-630b-4861-b058-cf58834340f0
2017-03-28 05:39:31 +00:00
giannozz efd2ae081a Does anybody use NEC FFT libraries on NEC SX machines?
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13311 c92efa57-630b-4861-b058-cf58834340f0
2017-02-16 18:15:36 +00:00
spigafi 026f27d732 Missing object files
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13269 c92efa57-630b-4861-b058-cf58834340f0
2017-01-23 23:42:55 +00:00
giannozz dacee3ddd4 Module "iso_c_binding" removed by mistake in recent commit was neeeded
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13188 c92efa57-630b-4861-b058-cf58834340f0
2016-11-30 21:21:43 +00:00
giannozz 229692d720 Cleanup of FFTXlib:
1) routines fwfft and invfft moved out of file fft_interfaces.f90 into new
   file fft_fwinv.f90. Prevents massive recompilation if something changes
   in the FFT routines.
2) machine-dependent fft_scalar.*.f90 are now modules with different names,
   conditionally included into fft_scalar with a USE, no longer an #include.
   Avoids trouble with dependencies, allow simplification of makedeps.sh.
All changes should be harmless, but I have tested only FFTW, FFTW3, DFTI.
Please let me know if there is any problem



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13185 c92efa57-630b-4861-b058-cf58834340f0
2016-11-27 21:43:15 +00:00
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 f10c9a6f68 Since "pack_group_sticks_i" is protected by an #ifdef, the same is done for
"pack_group_sticks_i". This prevents linking problems with mpi versions < 2


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13182 c92efa57-630b-4861-b058-cf58834340f0
2016-11-25 12:05:26 +00:00
giannozz 97d9a671a3 Leftover include 'mpif.h' removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13179 c92efa57-630b-4861-b058-cf58834340f0
2016-11-24 10:32:43 +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
faffinito 8f53ee6dd1 Fixed a small mistype in test.f90 and introduced non-blocking alltoall in unpack_group_sticks (used only in test.f90 and harmless elsewhere)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13164 c92efa57-630b-4861-b058-cf58834340f0
2016-11-18 15:35:23 +00:00
ccavazzoni ae92da8180 - more realistic test, reproducing the behaviour of vloc_psi called by hpsi in PW
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13163 c92efa57-630b-4861-b058-cf58834340f0
2016-11-17 13:36:10 +00:00
giannozz 2da68c5bd4 Removal of redundant preprocessing options: fft_scalar.f90 already takes care
of selecting the desired fft


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13087 c92efa57-630b-4861-b058-cf58834340f0
2016-10-04 14:40:34 +00:00
giannozz 2e7f679873 More appropriate comment
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13085 c92efa57-630b-4861-b058-cf58834340f0
2016-10-04 13:27:52 +00:00
giannozz 98f489fb83 No valid reason any longer to preprocess fft_scalar.FFTW.f90: preprocessing is
done in fft_scalar.f90, implicitly assuming FFTW if a fft is not specified


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13084 c92efa57-630b-4861-b058-cf58834340f0
2016-10-04 09:10:49 +00:00
ccavazzoni 3d1908dd58 - BUG FIX: wrong charge in PW with task groups, and number of processors
is larger than the size of the FFT grid in z direction.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13054 c92efa57-630b-4861-b058-cf58834340f0
2016-10-01 22:05:53 +00:00
spigafi ca9995345a Ifdef preprocessor macro refactoring (FFTXlib)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12977 c92efa57-630b-4861-b058-cf58834340f0
2016-09-18 15:10:40 +00:00
spigafi dadd238ee3 Ifdef preprocessor macro refactoring (FFTXlib)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12973 c92efa57-630b-4861-b058-cf58834340f0
2016-09-18 14:56:20 +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
giannozz c79bb4942e Minor change to prevent bogus out-of-bound errors
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12923 c92efa57-630b-4861-b058-cf58834340f0
2016-09-06 07:22:05 +00:00
ccavazzoni 89b8c5e4a5 - well ... that's better
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12921 c92efa57-630b-4861-b058-cf58834340f0
2016-09-05 21:46:57 +00:00
ccavazzoni 70622522c7 - bug fix, index out of bounds
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12920 c92efa57-630b-4861-b058-cf58834340f0
2016-09-05 21:22:58 +00:00
giannozz 4182e5f6ae make.depend files updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12918 c92efa57-630b-4861-b058-cf58834340f0
2016-09-05 20:04:25 +00:00
spigafi 7c39aaa614 It was not compiling...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12879 c92efa57-630b-4861-b058-cf58834340f0
2016-08-29 18:46:57 +00:00
ccavazzoni 810c831fa3 - allow fft dimensions to be set from input
- clean-ups


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12876 c92efa57-630b-4861-b058-cf58834340f0
2016-08-29 15:58:50 +00:00
faffinito 49a35b38d0 fixed the experimental double-buffering version
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12872 c92efa57-630b-4861-b058-cf58834340f0
2016-08-29 11:50:23 +00:00
ccavazzoni 312e3b952e - some more clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12823 c92efa57-630b-4861-b058-cf58834340f0
2016-08-22 06:52:43 +00:00
giannozz 511b1c5f88 Compilation problems in serial execution
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12816 c92efa57-630b-4861-b058-cf58834340f0
2016-08-20 13:52:22 +00:00
ccavazzoni 8f777555f3 - adding "howmany" parameter to the cfft3d subroutine,
to compute many FFTs at the same time, particularly usefull for EXX
  but could be usefule for many linear response code as well
  (for the time being implemented only for DFTI and internal FFTW,
  should be trivial to extend other drivers)
- more clean-ups


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12815 c92efa57-630b-4861-b058-cf58834340f0
2016-08-19 22:55:53 +00:00
ccavazzoni e8659ff65e - more fft clean-ups, getting rid of fft_type_scalar and making fft_type_set private.
- "normalizing" fft_custom.f90, example01 is ok, but more checks and clean-ups are 
  probably required


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12800 c92efa57-630b-4861-b058-cf58834340f0
2016-08-19 08:31:15 +00:00
ccavazzoni 54ca5bf7ce - no need to keep the instance of smap descriptor in the base library
- no need to keep stick_set.f90 at all
- eliminating unused type member


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12779 c92efa57-630b-4861-b058-cf58834340f0
2016-08-17 22:46:37 +00:00
ccavazzoni 229940706f - further clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12762 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 22:51:37 +00:00
ccavazzoni ec9cd623f7 - remove code specific sub from general lib
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12761 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 21:57:42 +00:00
ccavazzoni 0a8da61159 - pointer substituted by allocateble
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12760 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 19:02:58 +00:00
pietrodelugas 1c0dd0b1fd added tbeta_smoothing variable to the xsd_input and renamed tqr_smoothing variable in tq_smoothing.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12755 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 15:00:29 +00:00
ccavazzoni 2336c4ce53 - fix for serial build
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12744 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 08:31:18 +00:00
ccavazzoni 9b47d06d32 - update dependencies
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12743 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 07:17:57 +00:00
ccavazzoni f20022bd6d - further FFT consolidation / clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12742 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 07:16:47 +00:00
ccavazzoni 213fe9b79e - clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12736 c92efa57-630b-4861-b058-cf58834340f0
2016-08-13 08:26:39 +00:00
ccavazzoni 0096334dfd - cleanup for pstickset_custom (no more custom!)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12732 c92efa57-630b-4861-b058-cf58834340f0
2016-08-12 22:27:43 +00:00
ccavazzoni c585ad57b1 - BUG FIX, serial build
- removing useless stuff


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12731 c92efa57-630b-4861-b058-cf58834340f0
2016-08-12 22:08:50 +00:00
ccavazzoni d248831c2f - BUG FIX, new fft with EXX
sticks entering fft_type_set are not necessarily consecutive anymore,
  then we need to check all values of stick index


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12730 c92efa57-630b-4861-b058-cf58834340f0
2016-08-12 21:52:02 +00:00
ccavazzoni 63791328b8 - fft_custom not custom anymore
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12724 c92efa57-630b-4861-b058-cf58834340f0
2016-08-12 14:31:26 +00:00
ccavazzoni 9fe2717a26 - new sticks_map type
- further clean-ups and refactoring
- BUG FIX in transition fft_custom



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12722 c92efa57-630b-4861-b058-cf58834340f0
2016-08-12 13:47:19 +00:00
ccavazzoni c6a622a65d - new "disentangled" sticks initialization,
new subroutine "get_sticks" can be used to initialize and retrieve the sticks for a given input cut-off.
  get_sticks can be called in any order (not necessarily starting from the smaller cut-off)
  but performance may vary depending on the order.

- NOTE: this is still a transition commit. Further re-factoring to the FFT library is required to     
  make it more flexible and dynamic, i.e. eliminate pstickset all-in-one FFT setup routine.
  Once the re-factoring will be over, the initialization of a single FFT object will feature:
  a) call subroutine to set basic grid informations and allocation
     fft_type_allocate
  b) call subroutine to define if the FFT is going to be performed in parallel or serial (even in parallel run)
     temporarily represented by the new get_sticks subroutine
  c) call subroutine to "activate" the fft_types object
     temporarily represented by fft_type_set
  FFT objects may then be created (almost) freely and (almost) independently from the other FFT objects,
  behind the scene, we need to keep coherence between sticks map and sticks owner, in order to avoid grid data remapping
  (this may change in future, for specific needs).                          
  In other words the above sequence could be called to initialize a new fft descriptor anywhere at any time,
  but a coherence will be kept with previous initializations. A keyword (not yet implemented) could be
  used to unbound the new descriptors from the old one, then you need to know what you are doing...



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12721 c92efa57-630b-4861-b058-cf58834340f0
2016-08-11 23:02:23 +00:00
faffinito a6b97d11f0 Fixed small bug in variable declaration
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12715 c92efa57-630b-4861-b058-cf58834340f0
2016-08-11 07:05:07 +00:00
ccavazzoni 4a5d347421 - clean-up, just one sticks_map subroutine for parallel and scalar maps
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12706 c92efa57-630b-4861-b058-cf58834340f0
2016-08-10 07:52:20 +00:00
ccavazzoni 816ccf71ec - sticks_map now for one cutoff/map at a time
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12704 c92efa57-630b-4861-b058-cf58834340f0
2016-08-10 05:59:01 +00:00