You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/base/modules/comm
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
..
comm_schemes [ADD] Added single point of comm_scheme selection on descriptor 4 weeks ago
psb_base_linmap_mod.f90 Fix licensing text 3 months ago
psb_c_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_c_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_c_linmap_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_comm_mod.f90 Merge branch 'development' into communication_v2 3 weeks ago
psb_d_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_d_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_d_linmap_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_e_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_i2_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_i2_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_i_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_l_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_linmap_mod.f90 Fix licensing text 3 months ago
psb_m_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_neighbor_topology_mod.F90 [FIX] Fixed compilation for psi_dswapdata routine 3 months ago
psb_s_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_s_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_s_linmap_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_z_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_z_comm_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psb_z_linmap_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_c_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_c_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_d_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_d_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_e_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_i2_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_i2_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_i_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_i_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_l_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_l_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_m_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_s_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_s_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_z_comm_a_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago
psi_z_comm_v_mod.f90 [UPDATE] Refactor after template update for RMA routines 4 weeks ago