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)
2026-06-11 16:53:46 +02:00
jalmerol
b8d41569fd
Add double-precision nested block-structured matrix/vector layer
2026-06-05 00:27:41 +02:00
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
2026-06-04 22:31:01 +02:00
Stack-1
4b8e4dd4a3
[UPDATE] Refactor after template update for RMA routines
2026-05-26 13:14:19 +02:00
sfilippone
09308b5c7d
various changes, including test matrix generators
2026-05-05 15:49:13 +02:00
sfilippone
19ce4a0942
Fix multivect assembly and comments in base_vect
2026-04-29 14:06:35 +02:00
Stack-1
6b803fd759
[UPDATE] Updated buffer reuse in psb_dcg
2026-04-09 14:54:14 +02:00
Stack-1
09a5a74d75
[ADD] Added polymorphic comm_handle data excahnge for non-blocking and persistant neighbor communication. Check test/comm/ to see how it's used. For now works only for d types
2026-04-02 20:28:33 +02:00
sfilippone
a223c7eaf3
Rebuild I2 supprot
2026-03-24 15:42:12 +01:00
Stack-1
02f1ef741c
[]
2026-03-23 11:00:35 +01:00
sfilippone
c990dc6840
Fix info in %reinit
2026-03-20 13:55:33 +01:00
sfilippone
ca458870b1
Fix intent in precbld to align with AMG
2026-03-20 13:55:17 +01:00
sfilippone
d2fba9e952
Fix licensing text
2026-03-18 14:49:55 +01:00
Marco Feder
303edfedc7
Fix return value
2026-03-18 10:48:38 +01:00
Stack-1
e7e8a69373
[FIX] Fixed compilation for psi_dswapdata routine
2026-03-17 11:02:16 +01:00
sfilippone
356bdba5c7
Fix intent on base_vect%reinit
2026-03-13 14:07:57 +01:00
sfilippone
e8c5c0b8b0
Add clear argument to reinit method in vectors.
2026-03-12 16:29:18 +01:00
sfilippone
96ab382ce8
Fix vect_clone and define check_addr
2026-01-27 12:17:39 +01:00
sfilippone
897d466013
Define DESC%check_addr for debugging
2026-01-26 11:26:30 +01:00
sfilippone
ac5512974b
Fix vector allocation etc.
2026-01-13 16:57:06 +01:00
sfilippone
3337a12e59
Fix multivect handling
2026-01-13 15:26:11 +01:00
sfilippone
c1ca1665e7
Fixes to vector status and build processing for dealii
2025-12-02 17:34:10 +01:00
sfilippone
5333117010
Fix vect_clone, expose to C interface
2025-11-27 15:13:29 +01:00
sfilippone
0c84efb887
Working version with mods for building with dealii requests
2025-11-06 14:06:47 +01:00
sfilippone
98a6eba948
First round of changes for vector builds
2025-11-05 14:01:54 +01:00
sfilippone
0239569e2b
Final fixes for compilation with INTEL
2025-09-23 13:10:49 +02:00
sfilippone
dc25c789ef
Fixes for Intel compilation take 2. To be completed.
2025-09-18 20:27:26 +02:00
sfilippone
727dc13a98
First attempt at a fix for INTEL
2025-09-18 17:02:11 +02:00
Salvatore Filippone
cc8cab0e8a
Workaround for strange ipk8 issue
2025-06-04 11:35:18 +02:00
sfilippone
07fa2323eb
Fixes for IPK8
2025-06-01 20:56:11 +02:00
sfilippone
ea6c4181f7
Changed all defines with prefix PSB_
2025-03-14 12:54:18 +01:00
sfilippone
3c53066a04
Walk back some generic method changes made for NVHPC.
2025-02-26 11:24:40 +01:00
sfilippone
55518f5553
Avoid specific method names' conflicts between vect and multivect.
2025-02-24 17:47:49 +01:00
sfilippone
4e71fa971c
Modify clean_zeros and have it only at base%
2025-01-08 17:18:54 +01:00
sfilippone
ee56c6be3c
Cosmetic changes to OpenACC vectors
2024-10-08 11:47:37 +02:00
sfilippone
8220140729
Merged recent changes from development
2024-08-08 14:59:09 +02:00
sfilippone
3168b7e8f7
Merge branch 'development' into oacc_loloum
2024-08-08 14:24:21 +02:00
sfilippone
7857015923
Cosmetic changes to vect_mod
2024-08-08 14:23:03 +02:00
sfilippone
2982aaee27
Implementation in OpenACC for ELL and HLL into templates. Merge from development
2024-08-08 11:07:28 +02:00
sfilippone
4461b44eda
Change name abgdxyz into upd_xyz
2024-07-29 16:59:27 +02:00
sfilippone
ba8c32c507
Define merge_nd method
2024-04-17 14:27:35 +02:00
sfilippone
373d841bce
Don't need renaming of psi_gth and psi_sct
2024-03-22 15:44:51 +01:00
sfilippone
86be8ebcd0
New method W%XYZW()
2024-03-04 16:29:47 +01:00
Salvatore Filippone
f4c7604f61
Fix base implementation of abgdxyz to call set_host
2024-02-17 09:40:09 +01:00
Salvatore Filippone
b8f9badf95
Fix interface between vect and base_vect%ABGD
2024-02-14 20:05:52 +01:00
Salvatore Filippone
2a40b82b58
Fix typo in base_vect_mod
2024-02-14 16:01:16 +01:00
Salvatore Filippone
4e611bb078
Enable psi_abgdxyz
2024-02-14 15:55:55 +01:00
sfilippone
45f00e6e19
Fixed comments
2024-02-12 15:10:58 +01:00
Salvatore Filippone
14c4ff0f32
Added new methd for two combined axpbys
2024-02-12 14:15:19 +01:00
sfilippone
3aa3c795e9
Refactor assembly and cnv
2023-12-23 13:15:01 +01:00