Commit Graph
3307 Commits
Author SHA1 Message Date
Stack-1 241b078e72 ext: fix DIA/HDIA correctness, conversion and storage bugs
1. psb_?_hdia_csmv.f90: with beta /= 0 the kernel scaled y(i) instead of
   y(rdisp+i), so every hack after the first used the wrong element and
   the result was silently wrong. Verified against CSR: the error was
   1.08e+02 on a 1000x1000 tridiagonal test, now 3.6e-15.

2. psb_?_cp_dia_to_coo.f90: the file did not use psi_ext_util_mod, so the
   call to psi_?_xtr_coo_from_dia had no explicit interface and the
   optional rdisp argument was seen as present with a garbage value.
   Any conversion out of DIA crashed. Added the module, as the HDIA
   version already does.

3. psi_?_xtr_coo_from_dia.f90: the extraction wrote one COO entry per
   stored position, padding zeros included, while the caller sizes the
   buffer with get_nzeros(). Skip the zeros, which also keeps the
   round trip DIA -> COO -> DIA exact in the number of nonzeros.
   psb_?_cp_dia_to_coo.f90 now calls set_nzeros with the count that the
   extraction returns.

4. psb_?_cp_hdia_from_coo.f90: diaOffsets holds one integer per diagonal
   per hack, but was allocated with hacksize*iszd, so 31/32 of the array
   was never used. On a 40^3 pdegen matrix the format occupied 5,314,884
   bytes instead of 3,601,204 (-32%); at 500^3 it would waste about
   3.4 GB per process.

5. psb_?_cp_hdia_from_coo.f90: a%nzeros counted the padded positions
   rather than the nonzeros, so get_nzeros() returned 442,222 instead of
   438,400 on the same matrix, inflating the MFLOPS of every benchmark
   and breaking the comparison with the other formats.
2026-10-02 15:17:10 +02:00
Salvatore Filippone c10a5ed83d Merge pull request #44 from fdrmrc/reinit_clear
Reintroduce implementation of psb_c_gereinit
2026-09-24 13:38:40 +02:00
Marco Feder e8ccf0a1f2 Reintroduce implementation of gereinit() with clear option 2026-09-24 12:47:53 +02:00
sfilippone bf40c96646 Minor fixes to silence Intel compiler warnings. 2026-09-17 11:37:16 +02:00
sfilippone 6e4ae2eacd Fix test program 2026-09-09 12:55:21 +02:00
sfilippone 609774f704 Fix test program 2026-09-09 12:52:28 +02:00
sfilippone 5e4a94ebf2 Merge branch 'development' of github.com:sfilippone/psblas3 into development 2026-09-09 12:01:26 +02:00
sfilippone c77b60e9ef New unrolling for HLL_CSMV 2026-09-09 12:01:02 +02:00
sfilippone 1b895d969b Cleanup test program 2026-09-08 18:21:49 +02:00
sfilippone 9f628ddae7 Add hacksize to test input 2026-09-06 16:05:12 +02:00
sfilippone 4312b38e9c Take out include mpif in multiple files, was failing with Intel 2026-09-06 13:11:23 +02:00
sfilippone 834f25843b New ext kernel dir. 2026-09-05 17:53:21 +02:00
sfilippone a9401d784d Fix INTEL compilation issue with swapdata_a 2026-09-04 17:32:07 +02:00
sfilippone f15bd7bc3d Fix missing interface when LPK4 2026-07-27 16:11:04 +02:00
sfilippone 4bd52fd35d Fix misplaced end interface in MMIO_MOD 2026-07-27 14:26:25 +02:00
sfilippone 2c49a200af Improve handling of heap size and calls to realloc & friends 2026-07-27 09:48:08 +02:00
sfilippone 850e0d1cc1 Minor change to HLL 2026-07-14 15:59:32 +02:00
sfilippone caca3613a3 Merge branch 'remap-coarse' into development 2026-07-14 12:45:37 +02:00
sfilippone 324bb4b8f3 Fix util/mmio 2026-07-14 12:40:42 +02:00
sfilippone 1542f06d2a Step for working remap. Needs to rethink map_clone 2026-07-13 13:38:20 +02:00
sfilippone 4315a2b395 Merge branch 'development' into remap-coarse 2026-06-24 14:02:38 +02:00
sfilippone 66026aca90 Attempt for remapping 2026-06-24 14:01:53 +02:00
sfilippone d7f3bf536d Cosmetic changes in cuda dir 2026-06-11 15:20:44 +02:00
sfilippone 8254b66140 Overzealous make clean 2026-06-11 15:20:29 +02:00
sfilippone 0688629612 Configry adjustments to sequencing PSBL_IPK 2026-06-11 15:20:02 +02:00
sfilippone 1c51cab1b5 Make desc_is_asb always a method 2026-06-10 13:52:23 +02:00
sfilippone 187a8c3051 Minor adjustments to configry 2026-06-10 13:51:54 +02:00
sfilippone 847e638123 Fix detail in base/modules/makefile 2026-06-10 13:51:18 +02:00
fdurastante 3aceaa31eb Implementation of preconditioned MINRES 2026-06-08 15:31:00 +02:00
sfilippone 4a5acb014c Put mmio_impl into templates 2026-06-05 16:33:25 +02:00
sfilippone d7cb05f371 Define unrolling at 64 for HLL 2026-06-05 15:55:07 +02:00
sfilippone d99e759fd1 Change handling of stopping criterion, refactor GMRES 2026-06-05 15:53:51 +02:00
sfilippone 014abc941c Fix matrix generation 2026-05-05 16:43:40 +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
sfilippone 1cb7634d1f Fix GEMIN 2026-04-29 14:06:23 +02:00
sfilippone 586cafae49 New PrintSolverOptions in CBIND 2026-04-27 13:06:27 +02:00
sfilippone 3f83bc2918 Improve psb_exit handling of MPI communicators 2026-04-16 14:58:05 +02:00
sfilippone 094c9b1197 Fix remap support 2026-04-15 14:51:02 +02:00
sfilippone 19ffaaa915 Update dependencies for i2_vect_mod 2026-04-15 09:06:56 +02:00
sfilippone 97299b8b3f Update VERSION file 2026-04-10 13:37:10 +02:00
sfilippone 70d43a9487 Fix string defaults parsing in cmake 2026-04-08 09:47:14 +02:00
sfilippone d0baf9e977 Fix generation of psb_config.h with CMAKE 2026-04-07 16:23:00 +02:00
Salvatore Filippone 089969402d Merge branch 'development' of github.com:sfilippone/psblas3 into development 2026-03-26 17:24:27 +01:00
Salvatore Filippone 039639b341 Fix bug in CMakeLists: now installs modules correctly 2026-03-26 17:23:27 +01:00
fdurastante 116219b6fe Added support for CSC matrices in c interfaces 2026-03-26 16:00:36 +01:00
Salvatore Filippone eae1311c99 Improved dependencies. 2026-03-26 15:47:02 +01:00
Salvatore Filippone 0a97ea2924 Fix makefile 2026-03-26 15:22:23 +01:00
Salvatore Filippone bc9adfeb3e Fix CMakeLists 2026-03-24 16:44:28 +01:00
Salvatore Filippone e717d2d228 Fix makefile dependencies 2026-03-24 16:11:02 +01:00