lp:~albertog/siesta/gridxc-integration
This branch was merged intro trunk-psml.
- Get this branch:
- bzr branch lp:~albertog/siesta/gridxc-integration
Branch merges
- Nick Papior: Approve
- Alberto Garcia: Approve
-
Diff: 3682 lines (+1534/-1037) (has conflicts)48 files modifiedDocs/gridxc-insert.CHANGES (+83/-0)
Src/MPI/Makefile (+2/-6)
Src/MPI/mpi__type_s.f90 (+0/-2)
Src/MPI/mpi__type_sv.f90 (+0/-2)
Src/MPI/mpi__type_v.f90 (+0/-2)
Src/MPI/mpi__type_vs.f90 (+0/-2)
Src/MPI/mpi_siesta.f90 (+0/-2)
Src/MPI/timer_mpi.F90 (+0/-26)
Src/Makefile (+58/-24)
Src/SiestaXC/makefile (+3/-2)
Src/SiestaXC/siestaxc.F90 (+5/-5)
Src/Sys/GRIDXC.make (+55/-0)
Src/alloc.F90 (+147/-567)
Src/alloc_error_report.F (+55/-0)
Src/alloc_memory_event.F (+30/-0)
Src/atom.F (+2/-2)
Src/broyden_optim.F (+1/-1)
Src/cell_fire_optim.F (+1/-1)
Src/cellxc_mod.F (+2/-2)
Src/dhscf.F (+4/-4)
Src/diagmemory.F (+0/-45)
Src/diagon.F (+1/-1)
Src/fft.F (+2/-2)
Src/forhar.F (+3/-3)
Src/ldau_specs.f (+2/-2)
Src/m_memory.F (+0/-134)
Src/m_timer.F90 (+47/-21)
Src/memory.F (+6/-143)
Src/memory_log.F90 (+587/-0)
Src/meshsubs.F (+2/-2)
Src/moreParallelSubs.F90 (+2/-2)
Src/obj_setup.sh (+9/-0)
Src/read_xc_info.F (+1/-1)
Src/siesta_end.F (+2/-2)
Src/siesta_init.F (+20/-10)
Src/siesta_options.F90 (+0/-2)
Src/state_init.F (+1/-1)
Src/timer.F90 (+32/-1)
Src/timer_tree.f90 (+13/-1)
Util/Denchar/Src/Makefile (+8/-5)
Util/Denchar/Src/alloc_handlers.f90 (+14/-0)
Util/Gen-basis/Makefile (+57/-6)
Util/Gen-basis/handlers.f (+114/-0)
Util/SiestaSubroutine/ProtoNEB/Src/Makefile (+5/-0)
Util/SiestaSubroutine/SimpleTest/Src/Makefile (+5/-0)
Util/VCA/Makefile (+33/-3)
Util/VCA/handlers.f (+114/-0)
version.info (+6/-0)
Branch information
Recent revisions
- 483. By Alberto Garcia
-
Use external gridxc library
The arch.make must now define the GRIDXC_ROOT variable
(See Src/Sys/GRIDXC.make for the whole story, including
parallel makes for Siesta and serial for Utils).See Src/Makefile and Util/Gen-
basis/Makefile for new idioms. Src/SiestaXC is kept to facilitate updates.
- 482. By Alberto Garcia
-
Sync with trunk-503
Note that the libGridXC code is kept in the Siesta tree for now.
Also, Src/SiestaXC is kept to facilitate updates. - 481. By Alberto Garcia
-
Revamped timer interface in gridxc. Build fixes
* Revamped the timer interface in gridxc
Removed the internal timer framework, as it was not really needed
in its full glory. If cellxc timing information is needed in the
future to fine-tune the load-balancing mechanism, it should be
handled in a more light-weight manner.Internal timings are passed over to the calling program through
the 'gridxc_timer_*' calls.The MPI subsystem is instrumented for timing also. It calls
also the gridxc_timer_* routines if 'time_mpi_calls' is set
in 'gridxc_init'.* Use package-specific module names in MPI_instr
If a program uses several versions of the MPI interfaces,
the first appearing in the linking list will be used for
everything. This causes problems for package-specific
functionality.The modules in MPI_instr are now renamed at the time
the 'generate.sh' script is run.* Bring in needed fixes in Util and elsewhere
removed:
Src/gridxc/m_timer. F90
Util/Gen-basis/ local_die. F
added:
Util/Gen-basis/ handlers. f
Util/VCA/handlers. f
modified:
Src/gridxc/MPI_instr/ Makefile
Src/gridxc/MPI_instr/ generate. sh
Src/gridxc/MPI_instr/ mpi__type_ s.f90
Src/gridxc/MPI_instr/ mpi__type_ sv.f90
Src/gridxc/MPI_instr/ mpi__type_ v.f90
Src/gridxc/MPI_instr/ mpi__type_ vs.f90
Src/gridxc/MPI_instr/ mpi_instr. f90
Src/gridxc/MPI_instr/ mpi_interfaces. F
Src/gridxc/Testers/ handlers. f90
Src/gridxc/Testers/ test3.F90
Src/gridxc/atomxc. F90
Src/gridxc/cellxc. F90
Src/gridxc/fft3d.F90
Src/gridxc/gridxc. F90
Src/gridxc/gridxc_ config. F90
Src/gridxc/makefile
Src/gridxc/radfft. f
Src/obj_setup.sh
Src/siesta_init.F
Util/Gen-basis/ Makefile
Util/VCA/Makefile - 480. By Alberto Garcia
-
Sync with trunk for build fixes
Bring in needed fixes in Util and elsewhere
added:
Util/Gen-basis/ local_die. F
Util/STM/ol- stm/Src/ handlers. f
modified:
Docs/CHANGES
Src/SiestaXC/atomxc. F90
Src/SiestaXC/mesh1d. f90
Util/Denchar/ Src/Makefile
Util/Gen-basis/ Makefile
Util/Gen-basis/ gen-basis. F
Util/STM/ol- stm/Src/ Makefile
Util/STM/ol- stm/Src/ atompla. f
Util/STM/ol- stm/Src/ extrapolate. f
Util/STM/ol- stm/Src/ fftw3_mymod. f90
Util/STM/ol- stm/Src/ readstm. f
Util/STM/ol- stm/Src/ reinitstm. f
Util/STM/ol- stm/Src/ stm.f
Util/SiestaSubroutin e/FmixMD/ Src/Makefile
Util/build_all. sh* - 479. By Alberto Garcia
-
Fixes to gridxc internal routines
- Remove 'comm' arg from moreParallelSubs routines
It came after some optional arguments, which might have confused
compilers. This fixes an obscure bug.- Make 'interpolation' local to mesh1d
modified:
Src/gridxc/atomxc. F90
Src/gridxc/cellxc. F90
Src/gridxc/debugxc. F90
Src/gridxc/m_timer. F90
Src/gridxc/makefile
Src/gridxc/mesh1d. f90
Src/gridxc/moreParallelSub s.F90 - 478. By Alberto Garcia
-
Import interim version of gridxc
It works in serial mode. Some elusive bug in parallel, being tracked
in different architectures.Handlers for gridxc timers are in timer.F.
added:
Src/gridxc/
Src/gridxc/00_README
Src/gridxc/BSD_LICENSE
Src/gridxc/MPI_instr/
Src/gridxc/MPI_instr/ Makefile
Src/gridxc/MPI_instr/ generate. sh
Src/gridxc/MPI_instr/ kind_explorer. f90
Src/gridxc/MPI_instr/ mpi__type_ s.f90
Src/gridxc/MPI_instr/ mpi__type_ sv.f90
Src/gridxc/MPI_instr/ mpi__type_ v.f90
Src/gridxc/MPI_instr/ mpi__type_ vs.f90
Src/gridxc/MPI_instr/ mpi_instr. f90
Src/gridxc/MPI_instr/ mpi_interfaces. F
Src/gridxc/Testers/
Src/gridxc/Testers/ Reference/
Src/gridxc/Testers/ Reference/ test1.out
Src/gridxc/Testers/ Reference/ test2.out
Src/gridxc/Testers/ Reference/ test3.out
Src/gridxc/Testers/ Reference/ test4.out
Src/gridxc/Testers/ handlers. f90
Src/gridxc/Testers/ makefile
Src/gridxc/Testers/ test.f90
Src/gridxc/Testers/ test1.f90
Src/gridxc/Testers/ test2.F90
Src/gridxc/Testers/ test2.m
Src/gridxc/Testers/ test3.F90
Src/gridxc/Testers/ test4.F90
Src/gridxc/Testers/ test5.f90
Src/gridxc/Testers/ test5.m
Src/gridxc/Testers/ test6.f90
Src/gridxc/Testers/ test6.m
Src/gridxc/alloc.F90
Src/gridxc/am05.f90
Src/gridxc/atomxc. F90
Src/gridxc/bessph. f
Src/gridxc/cellsubs. f
Src/gridxc/cellxc. F90
Src/gridxc/chkgmx. f
Src/gridxc/debugxc. F90
Src/gridxc/fft3d.F90
Src/gridxc/fftr.F90
Src/gridxc/ggaxc.F
Src/gridxc/gridxc. F90
Src/gridxc/gridxc_ config. F90
Src/gridxc/interpolation. f90
Src/gridxc/ldaxc.F
Src/gridxc/lib-arch. make
Src/gridxc/m_fft_gpfa. F
Src/gridxc/m_io.f
Src/gridxc/m_timer. F90
Src/gridxc/m_walltime. f90
Src/gridxc/makefile
Src/gridxc/mesh1d. f90
Src/gridxc/mesh3d. F90
Src/gridxc/minvec. f
Src/gridxc/moreParallelSub s.F90
Src/gridxc/precision. F
Src/gridxc/radfft. f
Src/gridxc/sorting. f
Src/gridxc/sys.F
Src/gridxc/vdwxc.F90
Src/gridxc/vv_vdwxc. F90
Src/gridxc/xcmod.f90
modified:
.bzrignore
Src/Makefile
Src/atom.F
Src/cellxc_mod.F
Src/dhscf.F
Src/fft.F
Src/forhar.F
Src/meshsubs.F
Src/moreParallelSubs. F90
Src/read_xc_info. F
Src/siesta_init.F
Src/timer.F90 - 477. By Alberto Garcia
-
Control MPI timing from fdf file. Choose wall- or cpu-time
By simply turning 'timer_mpi' into an external function (defined in
timer.F90), the user can control the generation of timing information
from MPI calls. The relevant fdf line istime-mpi-calls T
This option can work with both the 'tree-timer' (use-tree-timer T),
and the traditional 'linear' timer. In the former case only the root
node information is printed. For the latter, load-balance information
is also printed.The kind of timing performed can be controlled with the fdf idiom
use-wall-time T
If .true., the wall-time is used, otherwise calls to the 'cpu_time'
intrinsic are used. Wall-time is used by default for the tree-timer,
whereas the default for the 'linear' timer is to use the cpu time.removed:
Src/MPI/timer_mpi. F90
modified:
Src/MPI/Makefile
Src/MPI/mpi__type_ s.f90
Src/MPI/mpi__type_ sv.f90
Src/MPI/mpi__type_ v.f90
Src/MPI/mpi__type_ vs.f90
Src/MPI/mpi_siesta. f90
Src/m_timer.F90
Src/siesta_init.F
Src/timer.F90 - 474. By Alberto Garcia
-
Provided a callback for memory events
The alloc module calls 'alloc_
memory_ event', which
can be implemented in Siesta by the 'memory_event'
routine in the 'memory_log' module.Modified Denchar to handle this also, with minimal
handlers for the alloc callbacks.(+ assorted fixes for previous commits)
added:
Src/alloc_memory_ event.F
Util/Denchar/ Src/alloc_ handlers. f90
modified:
Src/Makefile
Src/SiestaXC/makefile
Src/SiestaXC/siestaxc. F90
Src/alloc.F90
Src/memory.F
Src/memory_log.F90
Src/siesta_end.F
Src/siesta_init.F
Src/siesta_options. F90
Src/state_init.F
Util/Denchar/ Src/Makefile
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)