- MPI_BARRIER to avoid possible interference between two call
to sqr_mm_cannon. Not really sure if it is really necessary,
for sure it helps in case of "buggy" MPI library.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4061 c92efa57-630b-4861-b058-cf58834340f0
Please do not re-introduce old-style syntax. A uniform syntax allows
if the need arises to change the precision in less than no time.
Courtesy of Pascal Thibeaudeau. Modules/ directory only.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3964 c92efa57-630b-4861-b058-cf58834340f0
This will save memory for large system with thousands of electrons.
- Parallel matrix multiplication using low network traffic Cannon's algorithm
- New processors subgroup to be used with ortho, infact Cannon's alg.
uses only square number of procs: 1, 4, 9, 16, 25, ...
- The performance of matrix multiplication are mesured, and the best
processor number is choosen.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3459 c92efa57-630b-4861-b058-cf58834340f0
- BGL porting of CP almost complete. New command
line argument "-ntask_groups" to specify the
number of task group used in parallelization.
to generate an executable with BGL extensions,
in the file make.sys the macro __BGL should
be specified.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3069 c92efa57-630b-4861-b058-cf58834340f0
- further changes to support image parallelization in CP
- bug fix in XML save file for wave functions / charge density / pools .
In siple case and combinations of procs and polls now it seem to work.
More testing is required
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2963 c92efa57-630b-4861-b058-cf58834340f0
"reset_vel" input variable was read but not used
parallelization on images was not properly working
clueanup in the way ATOMIC_POSITIONS card is read.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1151 c92efa57-630b-4861-b058-cf58834340f0
This required a deep modification of the parallelism in PWscf:
there are two new communicators (intra_image_comm and inter_image_comm) and the
existing "pool" communicators (intra_pool_comm and inter_pool_comm) are now vectors
of length given by the number of parallel images. #ifdef __PARA is no longer
needed because all "parallel" variables are always initialized for a serial run
and all parallel routines are, in the case of a serial run, dummy routines.
The wrappers to MPI routines used only by PWscf are in the PW/para.f90 file.
The others (mp_***) are in the Modules/mp.f90. All explicit referencies to mpif.h
should be replaced by an "USE parallel_include" (in a serial run parallel_include
is simply a dummy module).
2) The extrapolation of both potential and wavefunctions has been rewritten in
order to be smarter than before: on the basis of the required extrapolation
order, on the basis of the history and on the basis of which files are really
present on the disk, the algorithm chooses the extrapolation order.
All the algorithms in which ions are moved can use the extrapolation.
These are both unstable features: I need the help of everybody to test them.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@742 c92efa57-630b-4861-b058-cf58834340f0