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
2c65c50593
[ADD] Added single point of comm_scheme selection on descriptor
2026-05-27 15:24:43 +02:00
sfilippone
d2fba9e952
Fix licensing text
2026-03-18 14:49:55 +01:00
Stack-1
e7e8a69373
[FIX] Fixed compilation for psi_dswapdata routine
2026-03-17 11:02:16 +01:00
sfilippone
7151c728db
Final fixes
2026-03-13 12:17:50 +01:00
sfilippone
bdee97e991
Fix use of MPI communicator
2026-03-12 17:30:21 +01:00
sfilippone
e2ddc08aea
Merge branch 'development' of github.com:sfilippone/psblas3 into development
2026-03-10 10:15:11 +01:00
sfilippone
9c3084985a
Cosmetic change in desc_const_mod
2026-03-10 10:14:08 +01:00
Salvatore Filippone
3d92668973
Change name of desc%get_list into desc%get_list_p
2026-02-12 12:54:50 +01:00
sfilippone
897d466013
Define DESC%check_addr for debugging
2026-01-26 11:26:30 +01:00
sfilippone
3965c3a526
Modified psb_config and machinery for better C interfacing
2026-01-22 13:44:28 +01:00
sfilippone
4d0226b7d6
Fixes for IPK8
2025-05-29 14:59:56 +02:00
Fabio Durastante
a83094a626
Added ifdef to disambiguate interfacese for LPK4/LPK8
2025-05-29 11:26:02 +02:00
sfilippone
6476428ccb
Complete fix for hash_threshold
2025-04-04 09:38:29 +02:00
sfilippone
7682556564
Final improvements to psb_hash performance.
2025-04-02 18:16:39 +02:00
sfilippone
51f0db2f4a
Fix hash_map step 2
2025-04-02 16:00:34 +02:00
sfilippone
89c6d8d108
First step reworking G2LV2_INS
2025-04-02 15:23:38 +02:00
sfilippone
3a70583ac5
First mod of hash_map_mod, regroup use statements
2025-04-02 13:36:24 +02:00
sfilippone
b2563f8d86
Working version, figured out source of previous error
2025-04-01 20:00:10 +02:00
Salvatore Filippone
e677d27418
Roll back unsafe change
2025-03-31 18:06:10 +02:00
Salvatore Filippone
aab29a4c55
One step of improvement to hash g2l
2025-03-31 18:00:49 +02:00
sfilippone
e9cfc9ae4b
Restored an openMP working version of hash_map_mod
2025-03-31 13:55:49 +02:00
Salvatore Filippone
61806ae22b
Define a parameter for sequential search limit in hash_map
2025-03-29 13:55:17 +01:00
Salvatore Filippone
847e098d41
Change threshold for hash_srch from 8 to 6
2025-03-29 12:53:02 +01:00
sfilippone
ec05012c35
Additional improvements in HASH%G2L
2025-03-28 18:56:12 +01:00
sfilippone
bdd56b9bc3
Improve hash_map_mod
2025-03-28 15:05:03 +01:00
sfilippone
39f865f094
Additional performance fixes in HASH_MAP
2025-03-28 12:40:19 +01:00
sfilippone
b2cdfc8a1b
Improved inner_cnv, halfway g2lv1_ins
2025-03-28 12:15:40 +01:00
Salvatore Filippone
e811a8efeb
Changes and measurements for SPINS/hash G2L_ins
2025-03-28 09:59:22 +01:00
sfilippone
ecef7d8653
Improve communication and speed between cd_inloc and hash_init
2025-03-26 16:37:28 +01:00
sfilippone
ea6c4181f7
Changed all defines with prefix PSB_
2025-03-14 12:54:18 +01:00
sfilippone
701f297163
Silence warnings uncovered by INTEL
2025-02-27 16:55:06 +01:00
sfilippone
30810f804e
Additional OpenMP tweaks, to be redesigned in the future.
2025-02-09 14:04:34 +01:00
sfilippone
772533b6f1
Avoid excessive OpenMP overhead in SPINS. Will have to be redesigned.
2025-01-23 15:38:05 +01:00
sfilippone
fa6b8d5e33
Enable I2 send/receive/collectives
2024-11-25 12:35:39 +01:00
Salvatore Filippone
a177e94ba5
Fix comments,
2024-05-21 17:49:40 +02:00
sfilippone
12a4c21fed
Fixes for OpenMP compilation in map_mod
2024-05-20 11:47:32 +02:00
sfilippone
d8ed01218d
Cleanup hash_map using new indx_map%set_lc
2024-05-09 12:30:06 +02:00
sfilippone
7ec394ce1c
Rename indx_map_mod and put SET_LR/C under ifdef
2024-05-09 11:29:23 +02:00
sfilippone
7dc64692cc
Fix for OpenMP runs in hash_map_mod
2024-05-08 14:46:27 +02:00
Salvatore Filippone
e711c53fab
Make sure we compile when LPK /= IPK
2024-05-07 07:07:18 -04:00
Salvatore Filippone
b5a32a59f9
Merge branch 'repackage' of github.com:sfilippone/psblas3 into repackage
2024-05-07 06:14:54 -04:00
Salvatore Filippone
773b79e7bc
OpenMP in repl_map
2024-05-07 06:11:15 -04:00
Salvatore Filippone
98a9005602
Further advances on OpenMP versions of various index maps.
2024-05-07 05:50:45 -04:00
Salvatore Filippone
fa86c91411
Fix OpenMP version of hash_map and hash
2024-05-07 05:04:48 -04:00
Salvatore Filippone
188dee6842
Add indx_map%inc_lc() method
2024-05-07 04:58:31 -04:00
sfilippone
b99aa7a90f
Switch off OMP in HASH g2l_ins
2024-04-29 15:07:49 +02:00
sfilippone
e31dd52c41
Fixed CRITICAL in hash_mod
2023-09-07 09:48:18 +02:00