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
sfilippone
3965c3a526
Modified psb_config and machinery for better C interfacing
2026-01-22 13:44:28 +01:00
sfilippone
fd58bb581e
Improve dependencies in main makefile
2026-01-19 09:50:44 +01:00
sfilippone
d7b22f0538
Fix string_c2f
2026-01-15 11:35:05 +01:00
sfilippone
b4ad5a4288
Fix build process
2026-01-08 13:27:16 +01:00
sfilippone
43fcc53344
Final (hopefully) version of Makefile dependencies
2025-11-24 17:00:39 +01:00
sfilippone
24a85013ab
Further fixes for Makefile dependencies
2025-11-22 19:42:32 +01:00
Salvatore Filippone
dbc3c59e53
Improve Makefile dependencies
2025-11-22 12:04:53 +01:00
sfilippone
0432f8c876
Fix dependencies in main Makefile
2025-11-22 11:27:08 +01:00
sfilippone
d887d5ee8a
Split mods from impl in build process
2025-11-21 15:13:10 +01:00
sfilippone
503c1e575f
Cleanup dependencies in main makefile
2025-03-27 11:59:19 +01:00
Salvatore Filippone
1ded01bb1a
Further fixes on main makefile
2025-03-23 11:35:57 +01:00
Salvatore Filippone
df6dc1bb3e
Fix typo in makefile
2025-03-23 11:34:37 +01:00
Salvatore Filippone
7201e511be
Renamed into test/pdegen, also in the C interface
2025-03-23 11:25:48 +01:00
sfilippone
f112e42deb
Main Makefile fixes
2025-03-14 18:49:10 +01:00
sfilippone
fd90ecb643
Move data from CDEFINES to psb_config.h
2025-03-09 18:37:12 +01:00
sfilippone
01220d4639
changes to define psb_config.h
2025-03-08 12:41:22 +01:00
sfilippone
3c5d629da2
Removed make veryclean, introduced make distclean
2025-02-20 17:00:04 +01:00
sfilippone
ceac2faad0
Rename krylov into linsolve where needed, step 1.
2024-11-10 10:08:50 +01:00
sfilippone
e3a3e39caf
Modify configure --enable-openacc --with-fcopenacc=.....
2024-07-09 10:03:30 +02:00
sfilippone
6aa7987d52
Rename GPU into cuda, and merge SPGPU code.
2023-10-19 14:22:32 +02:00
sfilippone
3a9116bc42
Merge psblas-ext into psblas step 2: GPU formats and configry.
2023-09-29 13:54:58 +02:00
sfilippone
1d5faa388d
Merge psblas-ext into psblas, step 1: ext storage formats.
2023-09-27 16:23:17 +02:00
Salvatore Filippone
bcc85e47fd
Fix Makefiles for parallel make
2022-06-21 10:02:30 -04:00
Salvatore Filippone
f8866932a6
Merge branch 'master' into maint-3.7.0
2021-04-23 05:58:25 -04:00
Salvatore Filippone
2e0020ad45
Makefile fixes for parallel builds
2021-04-23 05:50:39 -04:00
Salvatore Filippone
69099436d2
Fix makefile
2021-04-13 09:57:45 +02:00
Salvatore Filippone
b56abbb270
Improve structure of Makefiles
2020-04-18 17:58:41 +02:00
Salvatore Filippone
8fc4f82ff9
Use mkdir -p
2019-04-05 10:05:47 +01:00
Salvatore Filippone
ec1f6bd276
Use $SHELL for mkdir.sh
2017-11-04 10:28:12 +00:00
Salvatore Filippone
626d2263e3
Fixed Makefile: README has been renamed to README.md
2017-11-01 22:54:36 +00:00
Salvatore Filippone
bbba6a670e
Merged changes from svn dev version.
2017-10-02 12:04:14 +01:00
Salvatore Filippone
4734f19167
psblas3-mcbind:
...
Makefile
cbind/base/Makefile
cbind/base/psb_base_cbind_mod.f90
cbind/base/psb_base_psblas_cbind_mod.f90
cbind/base/psb_c_base.h
cbind/base/psb_c_cbase.c
cbind/base/psb_c_cbase.h
cbind/base/psb_c_sbase.c
cbind/base/psb_c_sbase.h
cbind/base/psb_c_zbase.c
cbind/base/psb_c_zbase.h
cbind/base/psb_cpenv_mod.f90
cbind/krylov
cbind/prec
cbind/test
cbind/util
Fixed C includes.
2017-04-04 15:31:46 +00:00
Salvatore Filippone
1002d815e3
psblas3-mcbind
...
Make.inc.in
Makefile
cbind
cbind/Makefile
cbind/base
cbind/base/Makefile
cbind/base/psb_base_cbind.h
cbind/base/psb_base_cbind_mod.f90
cbind/base/psb_base_psblas_cbind_mod.f90
cbind/base/psb_base_string_cbind_mod.f90
cbind/base/psb_base_tools_cbind_mod.F90
cbind/base/psb_c_base.c
cbind/base/psb_c_base.h
cbind/base/psb_c_dbase.c
cbind/base/psb_c_dbase.h
cbind/base/psb_cpenv_mod.f90
cbind/base/psb_d_psblas_cbind_mod.f90
cbind/base/psb_d_serial_cbind_mod.F90
cbind/base/psb_d_tools_cbind_mod.F90
cbind/base/psb_objhandle_mod.f90
Branch for C bindings.
2017-02-17 10:09:30 +00:00
Salvatore Filippone
42a305a8ba
psblas3:
...
Remove TODO.
Add sample(s) installation.
2016-09-22 12:35:36 +00:00
Salvatore Filippone
cc68090f4f
*** empty log message ***
2013-11-14 09:22:52 +00:00
Salvatore Filippone
b56adb6ff7
*** empty log message ***
2013-11-13 22:08:34 +00:00
Salvatore Filippone
4de10d2073
*** empty log message ***
2013-11-13 22:08:04 +00:00
Salvatore Filippone
9ce20e7c34
*** empty log message ***
2013-05-13 16:03:39 +00:00
Salvatore Filippone
4ce56cf078
*** empty log message ***
2012-06-27 12:23:22 +00:00
Salvatore Filippone
f650816e77
*** empty log message ***
2012-01-25 17:35:12 +00:00
Salvatore Filippone
caaced3ad1
psblas3:
...
util/psb_d_renum_impl.F90
util/psb_renum_mod.f90
Added identity option to renumbering
2011-12-19 17:07:15 +00:00
Salvatore Filippone
06945b8ae6
*** empty log message ***
2011-11-16 09:05:12 +00:00
Salvatore Filippone
ec27d3d67c
*** empty log message ***
2011-11-11 09:52:13 +00:00
Salvatore Filippone
d7cb940f68
psblas3:
...
Makefile
base/Makefile
base/modules/Makefile
base/serial/Makefile
prec/Makefile
util/Makefile
Fixes to allow make -j2
2011-11-11 09:18:05 +00:00
Michele Martone
0c224b963a
psblas3:
...
renamed libopt.a to libpsb_opt.a and building it and installing by default.
2011-04-03 11:17:32 +00:00
Michele Martone
edc01c32fd
psblas3:
...
missing HAVE_LIBRSB in the configure script. fixed.
2010-11-19 10:19:14 +00:00
Salvatore Filippone
c973412675
psblas3:
...
Changelog
Make.inc.in
Makefile
README
base/Makefile
base/modules/Makefile
base/modules/psb_c_base_mat_mod.f03
base/modules/psb_c_csc_mat_mod.f03
base/modules/psb_c_csr_mat_mod.f03
base/modules/psb_d_base_mat_mod.f03
base/modules/psb_d_csc_mat_mod.f03
base/modules/psb_d_csr_mat_mod.f03
base/modules/psb_s_base_mat_mod.f03
base/modules/psb_s_csc_mat_mod.f03
base/modules/psb_s_csr_mat_mod.f03
base/modules/psb_serial_mod.f90
base/modules/psb_z_base_mat_mod.f03
base/modules/psb_z_csc_mat_mod.f03
base/modules/psb_z_csr_mat_mod.f03
base/serial/Makefile
base/serial/f03/psb_c_base_mat_impl.f03
base/serial/f03/psb_c_coo_impl.f03
base/serial/f03/psb_c_csc_impl.f03
base/serial/f03/psb_c_csr_impl.f03
base/serial/f03/psb_c_mat_impl.F03
base/serial/f03/psb_d_base_mat_impl.f03
base/serial/f03/psb_d_coo_impl.f03
base/serial/f03/psb_d_csc_impl.f03
base/serial/f03/psb_d_csr_impl.f03
base/serial/f03/psb_d_mat_impl.F03
base/serial/f03/psb_s_base_mat_impl.f03
base/serial/f03/psb_s_coo_impl.f03
base/serial/f03/psb_s_csc_impl.f03
base/serial/f03/psb_s_csr_impl.f03
base/serial/f03/psb_s_mat_impl.F03
base/serial/f03/psb_z_base_mat_impl.f03
base/serial/f03/psb_z_coo_impl.f03
base/serial/f03/psb_z_csc_impl.f03
base/serial/f03/psb_z_csr_impl.f03
base/serial/f03/psb_z_mat_impl.F03
prec/Makefile
test/pargen/Makefile
test/pargen/runs/ppde.inp
Merged the psblas3-tmold branch.
Now uses MOLD= where available, and %MOLD method otherwise.
Works on GNU 4.6.0 (see README).
2010-09-02 13:25:13 +00:00
Salvatore Filippone
00c1468c6c
Started playing around with type extensions and typebound
...
procedures.
Merged performance fixes from trunk.
2008-09-19 16:06:44 +00:00
Salvatore Filippone
425028ddc5
*** empty log message ***
2008-03-13 16:05:14 +00:00