Stack-1
cd0fa59647
[UPDATE] Extended the 4-accumulator SpMV unrolling to s/c/z
...
Generated from template-psblas, where the unrolled csmv_inner kernel was
added to the type-generic X_csr_impl.P90. The d version produced by the
template is byte-identical to the hand-written one in f7db723f , so this
commit only carries s/c/z.
Same dispatch as d: mean row length >= 16 nonzeros/row uses four
accumulators to break the FMA latency chain, shorter rows keep the
original loop. Applies to the beta==0/alpha==1 and beta==1/alpha==1
branches of psb_?_csr_csmv_inner.
Checked with mpif90 -O3 -fopenmp on all three types; the unrolled and
reference loops agree to rounding on rows of every length mod 4,
including empty rows.
2026-08-07 12:40:46 +02:00
Stack-1
f7db723fdb
[ADD] Added loop unrolling using 4 accumulators in csr SpMV
2026-07-12 17:07:54 +02:00
sfilippone
a223c7eaf3
Rebuild I2 supprot
2026-03-24 15:42:12 +01:00
sfilippone
d2fba9e952
Fix licensing text
2026-03-18 14:49:55 +01:00
sfilippone
246bd70b3a
Modify sorting with REORD. Document same.
2025-10-08 12:55:23 +02:00
Salvatore Filippone
25f73d15db
Fix spspmm allocation to avoid double free error
2025-09-30 10:23:40 +02:00
sfilippone
e25d25460e
Revert one INTEL fix no longer needed
2025-09-23 13:38:27 +02:00
sfilippone
0239569e2b
Final fixes for compilation with INTEL
2025-09-23 13:10:49 +02:00
sfilippone
aa30839074
Fix define for compilers, and INTEL fix.
2025-09-19 12:18:11 +02:00
sfilippone
5a0ef22cc2
Rename spspmm
2025-09-19 10:55:49 +02:00
sfilippone
23261bafe6
Restore funny fix for intel
2025-09-19 10:35:20 +02:00
sfilippone
2539b6c715
Fix interface location and use in spspmm
2025-09-19 09:51:19 +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
sfilippone
da3f16ba56
Use less memory, check on symbmm
2025-07-09 11:30:41 +02:00
sfilippone
86a6ab413a
Use less memory in spspmm
2025-06-27 14:03:46 +02:00
sfilippone
07fa2323eb
Fixes for IPK8
2025-06-01 20:56:11 +02:00
Salvatore Filippone
4a1610d705
Add check for allocation in certain OpenMP paths
2025-04-30 11:52:05 +02:00
sfilippone
922f7dd278
Tweak SIMD directives for CSR.
2025-04-08 13:40:33 +02:00
sfilippone
110a66e7d0
Switch off some debug write
2025-04-01 11:09:47 +02:00
sfilippone
ea6c4181f7
Changed all defines with prefix PSB_
2025-03-14 12:54:18 +01:00
sfilippone
9ef812bf4a
Fix compile mismatch warnings
2025-03-05 15:57:18 +01:00
sfilippone
e282fb1a2a
Silence more warnings/errors from INTEL
2025-03-01 12:44:32 +01:00
sfilippone
701f297163
Silence warnings uncovered by INTEL
2025-02-27 16:55:06 +01:00
sfilippone
329a295315
Fix bug in heapsort on complex data
2025-02-27 16:54:50 +01:00
sfilippone
7700d4e0da
Update copyright
2025-02-21 16:27:18 +01:00
sfilippone
c9386c58d8
Remove default(none) from some OpenMP directives.
2025-02-10 15:49:49 +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
4e71fa971c
Modify clean_zeros and have it only at base%
2025-01-08 17:18:54 +01:00
Salvatore Filippone
f10c6c1822
Fix GEPRT
2024-11-02 12:28:24 +01:00
sfilippone
949499265e
Simplify clean_zeros
2024-10-08 11:48:48 +02:00
sfilippone
1c235f9281
Improve clean_zeros
2024-10-04 10:28:52 +02:00
sfilippone
108d544fc1
Fix clean_zeros to always keep the diagonal
2024-10-04 08:37:45 +02:00
sfilippone
4461b44eda
Change name abgdxyz into upd_xyz
2024-07-29 16:59:27 +02:00
sfilippone
39cfcd3893
Fix allocation in coo_impl
2024-05-29 16:54:10 +02:00
sfilippone
a38867be25
Fix allocation in coo_impl
2024-05-29 16:51:58 +02:00
sfilippone
b9ad357648
Improve temp memory allocation in fix_coo
2024-05-29 16:25:49 +02:00
Salvatore Filippone
42293c62b6
Fix usage of sync()
2024-05-21 17:49:48 +02:00
sfilippone
e19284eb6c
Small omp addition
2024-05-16 10:10:08 +02:00
sfilippone
35096a2ef9
Cosmetic changes to coo_impl
2024-05-16 10:05:11 +02:00
sfilippone
70f51b9da8
Improve handling of fix_coo buffers with OpenMP
2024-05-15 12:05:15 +02:00
sfilippone
ecccb13914
Fix COO fix_coo_inner_rowmajor not to overflow on integers.
2024-05-10 13:53:35 +02:00
sfilippone
a613e963db
First step in fix for coo_impl on OpenMP
2024-05-10 10:10:54 +02:00
sfilippone
4e0a9e5db8
Merge branch 'repackage' of github.com:sfilippone/psblas3 into repackage
2024-04-29 15:06:03 +02:00
sfilippone
e72c0f0bf9
Fix OMP impl of sparse-sparse product
2024-04-29 15:04:23 +02:00
Salvatore Filippone
d444a12879
Condition call to x%sync() in vect_mv
2024-04-26 11:35:44 +02:00
Salvatore Filippone
5e2e1e34fd
Introduce set_host() in inner_vect_sv
2024-04-25 18:59:24 +02:00
sfilippone
025350a361
Make sure realloc is always called with size >0
2024-04-23 14:06:27 +02:00
sfilippone
ba8c32c507
Define merge_nd method
2024-04-17 14:27:35 +02:00