Commit Graph

136 Commits (fd60bb8d7fc05a851575627349fff0628261d87d)

Author SHA1 Message Date
Stack-1 1244b640e0 [UPDATE] Merge communication_v2 into nested_matrix_type
Propagate the latest development (via communication_v2) onto the nested branch:
brings the GMRES refactor, the stopping-criterion change and the restored work
parameter on top of the nested (MATNEST) matrix support. Clean merge, no
conflicts.
2 weeks ago
Stack-1 7d4354feac Merge origin/development into communication_v2
Realign communication_v2 with the latest development (10 commits, including the
GMRES refactor and the stopping-criterion change), keeping the communication_v2
work intact.

Conflict resolution:
- base/modules/Makefile (veryclean): keep communication_v2's '/bin/rm -f *.h'.
- linsolve/impl/psb_{c,d,s,z}rgmres.f90: keep development's variable
  declaration (itmax_, naux), consistent with development's refactored GMRES
  body which references itmax_.
2 weeks ago
Stack-1 acdd2e9eb5 [ADD] Nested (MATNEST-style) block matrix support and tests
Add a block-structured distributed operator that presents itself to Krylov
solvers and preconditioners as a single ordinary distributed matrix (the
PSBLAS analogue of PETSc MATNEST), targeting saddle-point systems
M = [[A, B^T], [B, 0]] with possibly rectangular sub-blocks.

Library (base/modules):
- psb_desc_nest_mod, psb_d_nest_mat_mod: grid of per-field descriptors and
  per-block sparse storage.
- psb_d_nest_base_mat_mod: psb_d_nest_base_mat, the operator extending
  psb_d_base_sparse_mat (local csmv, free, field-split hooks for a future
  block preconditioner).
- psb_cd_nest_tools_mod / psb_d_nest_tools_mod: composed global descriptor
  with union halo (psb_cd_nest_compose) and rectangular local block builder
  (psb_d_nest_rect_block), plus the per-block assembly wrappers.
- psb_d_nest_builder_mod: psb_d_nest_matrix, the user frontend with the
  init/ins/asb/free pattern hiding all descriptor/halo/compose/setup
  boilerplate.
- psb_d_nest_mod: umbrella module (use psb_d_nest_mod).

Remove the earlier bespoke per-block prototype (comm/psblas/vect modules and
the pde_nest_psblas test) superseded by the single MATNEST design.

Tests (test/nested): glob (square operator vs monolithic CSR oracle), rect
(genuinely rectangular blocks), cg (low-level path, ill-conditioned SPD
red-black Laplacian solved with standard CG), builder (same solve via the
utility), plus a README describing the design and usage. All pass serially
and in parallel, with results invariant to the process count.

Build hooks updated (autotools Makefiles + CMakeLists); the nested tests are
relocated out of test/pdegen into test/nested.

Author: Simone Staccone (Stack-1)
2 weeks ago
sfilippone 1c51cab1b5 Make desc_is_asb always a method 2 weeks ago
jalmerol b8d41569fd Add double-precision nested block-structured matrix/vector layer 3 weeks ago
Stack-1 f725ccdeeb Merge branch 'development' into communication_v2
# Conflicts:
#	base/CMakeLists.txt
#	base/comm/internals/psi_cswapdata.F90
#	base/comm/internals/psi_dswapdata.F90
#	base/comm/internals/psi_iswapdata.F90
#	base/comm/internals/psi_lswapdata.F90
#	base/comm/internals/psi_sswapdata.F90
#	base/comm/internals/psi_zswapdata.F90
#	base/modules/Makefile
#	base/modules/comm/psb_i2_comm_mod.f90
#	base/modules/comm/psi_i2_comm_v_mod.f90
#	base/modules/serial/psb_i2_base_vect_mod.F90
#	test/computational_routines/spmm/spmm_checker
3 weeks ago
Stack-1 2c65c50593 [ADD] Added single point of comm_scheme selection on descriptor 4 weeks ago
sfilippone d2fba9e952 Fix licensing text 3 months ago
Stack-1 e7e8a69373 [FIX] Fixed compilation for psi_dswapdata routine 3 months ago
sfilippone 7151c728db Final fixes 3 months ago
sfilippone bdee97e991 Fix use of MPI communicator 3 months ago
sfilippone e2ddc08aea Merge branch 'development' of github.com:sfilippone/psblas3 into development 4 months ago
sfilippone 9c3084985a Cosmetic change in desc_const_mod 4 months ago
Salvatore Filippone 3d92668973 Change name of desc%get_list into desc%get_list_p 4 months ago
sfilippone 897d466013 Define DESC%check_addr for debugging 5 months ago
sfilippone 3965c3a526 Modified psb_config and machinery for better C interfacing 5 months ago
sfilippone 4d0226b7d6 Fixes for IPK8 1 year ago
Fabio Durastante a83094a626 Added ifdef to disambiguate interfacese for LPK4/LPK8 1 year ago
sfilippone 6476428ccb Complete fix for hash_threshold 1 year ago
sfilippone 7682556564 Final improvements to psb_hash performance. 1 year ago
sfilippone 51f0db2f4a Fix hash_map step 2 1 year ago
sfilippone 89c6d8d108 First step reworking G2LV2_INS 1 year ago
sfilippone 3a70583ac5 First mod of hash_map_mod, regroup use statements 1 year ago
sfilippone b2563f8d86 Working version, figured out source of previous error 1 year ago
Salvatore Filippone e677d27418 Roll back unsafe change 1 year ago
Salvatore Filippone aab29a4c55 One step of improvement to hash g2l 1 year ago
sfilippone e9cfc9ae4b Restored an openMP working version of hash_map_mod 1 year ago
Salvatore Filippone 61806ae22b Define a parameter for sequential search limit in hash_map 1 year ago
Salvatore Filippone 847e098d41 Change threshold for hash_srch from 8 to 6 1 year ago
sfilippone ec05012c35 Additional improvements in HASH%G2L 1 year ago
sfilippone bdd56b9bc3 Improve hash_map_mod 1 year ago
sfilippone 39f865f094 Additional performance fixes in HASH_MAP 1 year ago
sfilippone b2cdfc8a1b Improved inner_cnv, halfway g2lv1_ins 1 year ago
Salvatore Filippone e811a8efeb Changes and measurements for SPINS/hash G2L_ins 1 year ago
sfilippone ecef7d8653 Improve communication and speed between cd_inloc and hash_init 1 year ago
sfilippone ea6c4181f7 Changed all defines with prefix PSB_ 1 year ago
sfilippone 701f297163 Silence warnings uncovered by INTEL 1 year ago
sfilippone 30810f804e Additional OpenMP tweaks, to be redesigned in the future. 1 year ago
sfilippone 772533b6f1 Avoid excessive OpenMP overhead in SPINS. Will have to be redesigned. 1 year ago
sfilippone fa6b8d5e33 Enable I2 send/receive/collectives 2 years ago
Salvatore Filippone a177e94ba5 Fix comments, 2 years ago
sfilippone 12a4c21fed Fixes for OpenMP compilation in map_mod 2 years ago
sfilippone d8ed01218d Cleanup hash_map using new indx_map%set_lc 2 years ago
sfilippone 7ec394ce1c Rename indx_map_mod and put SET_LR/C under ifdef 2 years ago
sfilippone 7dc64692cc Fix for OpenMP runs in hash_map_mod 2 years ago
Salvatore Filippone e711c53fab Make sure we compile when LPK /= IPK 2 years ago
Salvatore Filippone b5a32a59f9 Merge branch 'repackage' of github.com:sfilippone/psblas3 into repackage 2 years ago
Salvatore Filippone 773b79e7bc OpenMP in repl_map 2 years ago
Salvatore Filippone 98a9005602 Further advances on OpenMP versions of various index maps. 2 years ago
Salvatore Filippone fa86c91411 Fix OpenMP version of hash_map and hash 2 years ago