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
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
Stack-1
4b8e4dd4a3
[UPDATE] Refactor after template update for RMA routines
4 weeks ago
Stack-1
fb5ba59693
[ADD] Added RMA one sided communication schemes
2 months ago
Stack-1
be6f27069a
[UPDATE] Modified tests to supèport GPU SpMV computing, Moreover dinstinct routine for persistant is now present in psi_dswpadata
2 months ago
Stack-1
75d86864b0
[UPDATE] Minor changes to debug
2 months ago
Stack-1
6ba327854e
[UPDATE] Changes in CG test, added debug
2 months ago
Stack-1
6b803fd759
[UPDATE] Updated buffer reuse in psb_dcg
3 months ago
Stack-1
33477e4f03
[UPDATE] Changed all the interfaces that calls psi_swapdata inside PSBLAS internals for double precision vectors. Added also tests under test/comm/ in order to check psi_swapdata, psb_spmv and psb_cg calls
3 months ago
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
3 months ago
sfilippone
a223c7eaf3
Rebuild I2 supprot
3 months ago
sfilippone
e1ab2bddf6
Fix import and build dependencies
3 months ago
Stack-1
2d388ce45e
[FIX] Fixed compilation dependencies resulting in race condition when compiling using many threads. The problem was encountered usingg make -j30, now it compiles.
3 months ago
Stack-1
02f1ef741c
[]
3 months ago
Stack-1
461a6a325f
[UPDATE] Removed work/aux buffer from vector routines that use psb_x_vect_type encapsulation for data exchange
3 months ago
sfilippone
d2fba9e952
Fix licensing text
3 months ago
Stack-1
dc61cbb0a2
[UPDATE] Mid commit to fix dist_graph_create
3 months ago
federicamontes
476167577f
aligned single precision -- psi_dswapdata and psi_sswapdata, removed _vidx_vect functions
3 months ago
Stack-1
e7e8a69373
[FIX] Fixed compilation for psi_dswapdata routine
3 months ago
federicamontes
5c87c78e69
feature(communication neigbor a2av)
...
refactored psi_d_comm_v_mod:
- added comments
3 months ago
sfilippone
724345ab27
Rework use of icomm in halo and friends, add submodules
3 months ago
sfilippone
07fa2323eb
Fixes for IPK8
1 year ago
Salvatore Filippone
340c191e7f
First round of cleanup build warnings
5 years ago
Salvatore Filippone
583ca19e9c
Add support for size statistics
5 years ago
Salvatore Filippone
a8ee595392
New method for checking if REPL at V descriptor
6 years ago
Salvatore Filippone
2e0c297409
Merging remap-coarse into new-context
6 years ago
Salvatore Filippone
025a4b5512
Fixes for CTXT usage, new GELP templated source.
6 years ago
Salvatore Filippone
7eb653b39d
fix ICTXT vs CTXT
6 years ago
Salvatore Filippone
6a6f6ad2c2
Change name of ICTXT to CTXT
6 years ago
Salvatore Filippone
b376d226cb
Fixed declaration and use of CONTEXT with new type.
6 years ago
Salvatore Filippone
4c7fa23c8a
New files for 2-bytes integer support. To be compiled and tested.
6 years ago
Salvatore Filippone
fd8ce4f3de
New linmap internal structure.
7 years ago
Salvatore Filippone
8d489f8ce2
Merged MixedI8 in new branch (to be later merged into development)
8 years ago
Salvatore Filippone
c774783057
Updated copyright statement
9 years ago
Salvatore Filippone
de0596d677
psblas3:
...
New affiliation and fix compyright formatting.
9 years ago
Salvatore Filippone
de68ae1d64
psblas3:
...
Modified copyright format for all Fortran file.
9 years ago
Salvatore Filippone
8f5fd02e6a
psblas3:
...
base/modules/comm/psb_c_linmap_mod.f90
base/modules/comm/psb_d_linmap_mod.f90
base/modules/comm/psb_s_linmap_mod.f90
base/modules/comm/psb_z_linmap_mod.f90
base/tools/psb_c_map.f90
base/tools/psb_d_map.f90
base/tools/psb_s_map.f90
base/tools/psb_z_map.f90
Added X_vect buffers to map_X2Y and map_Y2X: it makes a large
difference on GPUs.
Fixed CNV method to ignore unassembled maps.
9 years ago
Salvatore Filippone
c3813ad217
psblas3:
...
base/modules/Makefile
base/modules/aux
base/modules/aux/psb_c_sort_mod.f90
base/modules/aux/psb_d_sort_mod.f90
base/modules/aux/psb_hash_mod.f90
base/modules/aux/psb_i_sort_mod.f90
base/modules/aux/psb_ip_reord_mod.f90
base/modules/aux/psb_s_sort_mod.f90
base/modules/aux/psb_sort_mod.f90
base/modules/aux/psb_string_mod.f90
base/modules/aux/psb_z_sort_mod.f90
base/modules/aux/psi_c_serial_mod.f90
base/modules/aux/psi_d_serial_mod.f90
base/modules/aux/psi_i_serial_mod.f90
base/modules/aux/psi_s_serial_mod.f90
base/modules/aux/psi_serial_mod.f90
base/modules/aux/psi_z_serial_mod.f90
base/modules/comm
base/modules/comm/psb_base_linmap_mod.f90
base/modules/comm/psb_c_comm_mod.f90
base/modules/comm/psb_c_linmap_mod.f90
base/modules/comm/psb_comm_mod.f90
base/modules/comm/psb_d_comm_mod.f90
base/modules/comm/psb_d_linmap_mod.f90
base/modules/comm/psb_i_comm_mod.f90
base/modules/comm/psb_linmap_mod.f90
base/modules/comm/psb_s_comm_mod.f90
base/modules/comm/psb_s_linmap_mod.f90
base/modules/comm/psb_z_comm_mod.f90
base/modules/comm/psb_z_linmap_mod.f90
base/modules/desc
base/modules/desc/psb_desc_const_mod.f90
base/modules/desc/psb_desc_mod.F90
base/modules/desc/psb_gen_block_map_mod.f90
base/modules/desc/psb_glist_map_mod.f90
base/modules/desc/psb_hash_map_mod.f90
base/modules/desc/psb_indx_map_mod.f90
base/modules/desc/psb_list_map_mod.f90
base/modules/desc/psb_repl_map_mod.f90
base/modules/psb_base_linmap_mod.f90
base/modules/psb_base_mat_mod.f90
base/modules/psb_c_base_mat_mod.f90
base/modules/psb_c_base_vect_mod.f90
base/modules/psb_c_comm_mod.f90
base/modules/psb_c_csc_mat_mod.f90
base/modules/psb_c_csr_mat_mod.f90
base/modules/psb_c_linmap_mod.f90
base/modules/psb_c_mat_mod.f90
base/modules/psb_c_psblas_mod.F90
base/modules/psb_c_serial_mod.f90
base/modules/psb_c_sort_mod.f90
base/modules/psb_c_tools_mod.f90
base/modules/psb_c_vect_mod.F90
base/modules/psb_cd_tools_mod.f90
base/modules/psb_comm_mod.f90
base/modules/psb_d_base_mat_mod.f90
base/modules/psb_d_base_vect_mod.f90
base/modules/psb_d_comm_mod.f90
base/modules/psb_d_csc_mat_mod.f90
base/modules/psb_d_csr_mat_mod.f90
base/modules/psb_d_linmap_mod.f90
base/modules/psb_d_mat_mod.f90
base/modules/psb_d_psblas_mod.F90
base/modules/psb_d_serial_mod.f90
base/modules/psb_d_sort_mod.f90
base/modules/psb_d_tools_mod.f90
base/modules/psb_d_vect_mod.F90
base/modules/psb_desc_const_mod.f90
base/modules/psb_desc_mod.F90
base/modules/psb_gen_block_map_mod.f90
base/modules/psb_glist_map_mod.f90
base/modules/psb_hash_map_mod.f90
base/modules/psb_hash_mod.f90
base/modules/psb_i_base_vect_mod.f90
base/modules/psb_i_comm_mod.f90
base/modules/psb_i_sort_mod.f90
base/modules/psb_i_tools_mod.f90
base/modules/psb_i_vect_mod.F90
base/modules/psb_indx_map_mod.f90
base/modules/psb_ip_reord_mod.f90
base/modules/psb_linmap_mod.f90
base/modules/psb_list_map_mod.f90
base/modules/psb_mat_mod.f90
base/modules/psb_psblas_mod.f90
base/modules/psb_repl_map_mod.f90
base/modules/psb_s_base_mat_mod.f90
base/modules/psb_s_base_vect_mod.f90
base/modules/psb_s_comm_mod.f90
base/modules/psb_s_csc_mat_mod.f90
base/modules/psb_s_csr_mat_mod.f90
base/modules/psb_s_linmap_mod.f90
base/modules/psb_s_mat_mod.f90
base/modules/psb_s_psblas_mod.F90
base/modules/psb_s_serial_mod.f90
base/modules/psb_s_sort_mod.f90
base/modules/psb_s_tools_mod.f90
base/modules/psb_s_vect_mod.F90
base/modules/psb_serial_mod.f90
base/modules/psb_sort_mod.f90
base/modules/psb_sort_mod_save.f90
base/modules/psb_string_mod.f90
base/modules/psb_tools_mod.f90
base/modules/psb_vect_mod.f90
base/modules/psb_z_base_mat_mod.f90
base/modules/psb_z_base_vect_mod.f90
base/modules/psb_z_comm_mod.f90
base/modules/psb_z_csc_mat_mod.f90
base/modules/psb_z_csr_mat_mod.f90
base/modules/psb_z_linmap_mod.f90
base/modules/psb_z_mat_mod.f90
base/modules/psb_z_psblas_mod.F90
base/modules/psb_z_serial_mod.f90
base/modules/psb_z_sort_mod.f90
base/modules/psb_z_tools_mod.f90
base/modules/psb_z_vect_mod.F90
base/modules/psblas
base/modules/psblas/psb_c_psblas_mod.F90
base/modules/psblas/psb_d_psblas_mod.F90
base/modules/psblas/psb_psblas_mod.f90
base/modules/psblas/psb_s_psblas_mod.F90
base/modules/psblas/psb_z_psblas_mod.F90
base/modules/psi_c_serial_mod.f90
base/modules/psi_d_serial_mod.f90
base/modules/psi_i_serial_mod.f90
base/modules/psi_s_serial_mod.f90
base/modules/psi_serial_mod.f90
base/modules/psi_z_serial_mod.f90
base/modules/serial
base/modules/serial/psb_base_mat_mod.f90
base/modules/serial/psb_c_base_mat_mod.f90
base/modules/serial/psb_c_base_vect_mod.f90
base/modules/serial/psb_c_csc_mat_mod.f90
base/modules/serial/psb_c_csr_mat_mod.f90
base/modules/serial/psb_c_mat_mod.f90
base/modules/serial/psb_c_serial_mod.f90
base/modules/serial/psb_c_vect_mod.F90
base/modules/serial/psb_d_base_mat_mod.f90
base/modules/serial/psb_d_base_vect_mod.f90
base/modules/serial/psb_d_csc_mat_mod.f90
base/modules/serial/psb_d_csr_mat_mod.f90
base/modules/serial/psb_d_mat_mod.f90
base/modules/serial/psb_d_serial_mod.f90
base/modules/serial/psb_d_vect_mod.F90
base/modules/serial/psb_i_base_vect_mod.f90
base/modules/serial/psb_i_vect_mod.F90
base/modules/serial/psb_mat_mod.f90
base/modules/serial/psb_s_base_mat_mod.f90
base/modules/serial/psb_s_base_vect_mod.f90
base/modules/serial/psb_s_csc_mat_mod.f90
base/modules/serial/psb_s_csr_mat_mod.f90
base/modules/serial/psb_s_mat_mod.f90
base/modules/serial/psb_s_serial_mod.f90
base/modules/serial/psb_s_vect_mod.F90
base/modules/serial/psb_serial_mod.f90
base/modules/serial/psb_vect_mod.f90
base/modules/serial/psb_z_base_mat_mod.f90
base/modules/serial/psb_z_base_vect_mod.f90
base/modules/serial/psb_z_csc_mat_mod.f90
base/modules/serial/psb_z_csr_mat_mod.f90
base/modules/serial/psb_z_mat_mod.f90
base/modules/serial/psb_z_serial_mod.f90
base/modules/serial/psb_z_vect_mod.F90
base/modules/tools
base/modules/tools/psb_c_tools_mod.f90
base/modules/tools/psb_cd_tools_mod.f90
base/modules/tools/psb_d_tools_mod.f90
base/modules/tools/psb_i_tools_mod.f90
base/modules/tools/psb_s_tools_mod.f90
base/modules/tools/psb_tools_mod.f90
base/modules/tools/psb_z_tools_mod.f90
configure.ac
configure
Mreged reorganization of the base/modules subdir from newdesc branch.
10 years ago