Commit Graph

332 Commits (5ae90a0daec9893d03bb192ed8db2f70093b1e73)

Author SHA1 Message Date
Salvatore Filippone 160b987ed1 Reduce memory footprint in csrspspmm.
Salvatore Filippone e766e9b2fb Implementation of CSRD. To be tested.
Salvatore Filippone 5fd73b347e New has_xt_tri method.
Salvatore Filippone c75350463a Aux space spspmm estimate was wrong, reverted.
Salvatore Filippone 5bc452139f Fix estimate in spspmm
Salvatore Filippone 48c6a5777a Fix silly double declaration.
Salvatore Filippone a666f8b492 Improved estimated of output size in spspmm.
Salvatore Filippone 715191bb77 Avoid division by zero in size estimate
Salvatore Filippone 9e0d336d9d Mark matrix on host after clean_zeros
Salvatore Filippone ba6ac770cb Implement clean_zeros in CSR and CSC
Salvatore Filippone 019b8d1307 Fix silly bug in rw_extd cleanup code when NR > MA+MB.
Salvatore Filippone ba72faee7d In CSCNV we should call b%set_asb(), not b%asb()
Salvatore Filippone 9488a91d48 Fix implicit none.
Salvatore Filippone 4dc21ec7e2 Fix chksz in getblk.
Salvatore Filippone f2e247c8a8 Take out obsolete method impl.
Salvatore Filippone 6c6d2c71ee Optional argument in GETROW.
Salvatore Filippone 42d5a85e25 Implement TRIL/TRIU for CSR.
Salvatore Filippone 663fa5b8e5 Implement TRIL/TRIU with blocking.
Salvatore Filippone c573f38d34 Fix psi_serial_impl missing AXPBY.
Salvatore Filippone 95009f7ad5 Lifted interface to symbmm into psb_serial_mod.
Updated printouts in test programs.
Salvatore Filippone e37b43d45a Take out HAVE_MOLD.
Make support for MOLD mandatory in compiler version.
Define set_vect_defaults() and set_mat_defaults(), invoke them at
_init() time.
Salvatore Filippone 3d347d31dc Ensure that the CNV method pick up the default storage format.
Populate the defaults at psb_init time.
Salvatore Filippone b06c612f9a Reworked all the sorting routines from templates.
Also merged blsrch into gen_block_map_mod, where it belongs.
Salvatore Filippone c774783057 Updated copyright statement
Salvatore Filippone a947008be2 Fix error message handling for CSMV
Salvatore Filippone 7218ae86d6 Added new optional arguments to TRIL and TRIU. Document same.
Salvatore Filippone 077998c1bd psblas3:
.
 Make.inc.in
 base/comm/Makefile
 base/internals/Makefile
 base/internals/psi_exist_ovr_elem.f
 base/internals/psi_exist_ovr_elem.f90
 base/internals/psi_list_search.f
 base/internals/psi_list_search.f90
 base/internals/psi_srtlist.f90
 base/internals/srtlist.f
 base/modules/Makefile
 base/serial/Makefile
 base/serial/f77
 base/serial/f77/Makefile
 base/serial/f77/caxpby.f
 base/serial/f77/cnumbmm.f
 base/serial/f77/daxpby.f
 base/serial/f77/dnumbmm.f
 base/serial/f77/iaxpby.f
 base/serial/f77/saxpby.f
 base/serial/f77/snumbmm.f
 base/serial/f77/symbmm.f
 base/serial/f77/zaxpby.f
 base/serial/f77/znumbmm.f
 base/serial/psb_aspxpby.f90
 base/serial/psi_c_serial_impl.f90
 base/serial/psi_d_serial_impl.f90
 base/serial/psi_i_serial_impl.f90
 base/serial/psi_s_serial_impl.f90
 base/serial/psi_z_serial_impl.f90
 base/serial/smmp.f90
 base/tools/Makefile
 configure.ac
 configure
 prec/psb_d_bjacprec.f90
 prec/psb_d_diagprec.f90
 prec/psb_d_nullprec.f90
 test/fileread/Makefile
 test/hello/Makefile
 test/kernel/Makefile
 test/pargen/Makefile
 test/serial/Makefile
 test/torture/Makefile
 test/util/Makefile

Merged changes from fixprec branch.
Salvatore Filippone de0596d677 psblas3:
New affiliation and fix compyright formatting.
Salvatore Filippone de68ae1d64 psblas3:
Modified copyright format for all Fortran file.
Salvatore Filippone 2fde94dfe6 psblas3:
base/modules/psb_const_mod.F90
 base/modules/psb_error_mod.F90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90
 base/serial/psb_csymbmm.f90
 base/serial/psb_dsymbmm.f90
 base/serial/psb_ssymbmm.f90
 base/serial/psb_zsymbmm.f90
 base/tools/psb_cdren.f90
 base/tools/psb_icdasb.F90

New error code.
Salvatore Filippone 684ea50e7f psblas:
base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_coo_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Fix print when IV present.
Salvatore Filippone fa8a9f37c3 psblas3:
base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_coo_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Fix printing when renumbering is involved.
Salvatore Filippone 3ca60328a2 psblas:
base/serial/sort/psb_c_qsort_impl.f90
 base/serial/sort/psb_d_qsort_impl.f90
 base/serial/sort/psb_i_qsort_impl.f90
 base/serial/sort/psb_s_qsort_impl.f90
 base/serial/sort/psb_z_qsort_impl.f90

New thresholds for qsort.
Salvatore Filippone 2489f25247 psblas3:
base/serial/sort/psb_i_qsort_impl.f90

Revert qsort changes: need to sort out the correct template.
Salvatore Filippone 206a765adf psblas3:
base/serial/sort/psb_c_qsort_impl.f90
 base/serial/sort/psb_d_qsort_impl.f90
 base/serial/sort/psb_i_qsort_impl.f90
 base/serial/sort/psb_s_qsort_impl.f90
 base/serial/sort/psb_z_qsort_impl.f90

Revert qsort changes: need to sort out the correct template.
Salvatore Filippone adddf964d3 psblas3:
base/serial/sort/psb_c_qsort_impl.f90
 base/serial/sort/psb_d_qsort_impl.f90
 base/serial/sort/psb_i_qsort_impl.f90
 base/serial/sort/psb_s_qsort_impl.f90
 base/serial/sort/psb_z_qsort_impl.f90

Revised quicksort thresholds.
Salvatore Filippone eb6c3a0a9e psblas:
base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_z_coo_impl.f90

Make sure srt_inp is correct.
Salvatore Filippone 12bf6b82f5 psblas3:
base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Try uysing qsort in csrspspmm
Salvatore Filippone 2bd6693741 psblas3:
base/modules/Makefile
 base/serial/sort/Makefile

Fix dependencies.
Salvatore Filippone faafed5455 psblas3:
base/modules/psb_c_base_mat_mod.f90
 base/modules/psb_c_comm_mod.f90
 base/modules/psb_c_mat_mod.f90
 base/modules/psb_d_base_mat_mod.f90
 base/modules/psb_d_comm_mod.f90
 base/modules/psb_d_mat_mod.f90
 base/modules/psb_s_base_mat_mod.f90
 base/modules/psb_s_comm_mod.f90
 base/modules/psb_s_mat_mod.f90
 base/modules/psb_z_base_mat_mod.f90
 base/modules/psb_z_comm_mod.f90
 base/modules/psb_z_mat_mod.f90
 base/serial/impl/psb_c_base_mat_impl.F90
 base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_d_base_mat_impl.F90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_s_base_mat_impl.F90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_z_base_mat_impl.F90
 base/serial/impl/psb_z_coo_impl.f90

Add clean_zeros method.
Salvatore Filippone d99c45ae3d psblas
base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_coo_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Fixes to print routines and computation of sizes for spspmm
Salvatore Filippone 798cd352b2 psblas:
base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_coo_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Make sure allocation is at least size 1.
Salvatore Filippone 05929a80c5 New internals for ovrl on multivectors.
Salvatore Filippone 585cf6f735 psblas3:
base/modules/Makefile
 base/serial/psi_c_serial_impl.f90
 base/serial/psi_d_serial_impl.f90
 base/serial/psi_i_serial_impl.f90
 base/serial/psi_s_serial_impl.f90

Fixed base/modules build order.
Fixed serial_impl: call correct version of AXPBY
Salvatore Filippone ae735883ff psblas:
base/modules/psb_c_base_vect_mod.f90
 base/modules/psb_d_base_vect_mod.f90
 base/modules/psb_i_base_vect_mod.f90
 base/modules/psb_s_base_vect_mod.f90
 base/modules/psb_z_base_vect_mod.f90
 base/serial/psi_serial_impl.f90


Multivector gather
Salvatore Filippone b313f96bd8 psblas:
base/serial/psi_c_serial_impl.f90
 base/serial/psi_d_serial_impl.f90
 base/serial/psi_i_serial_impl.f90
 base/serial/psi_s_serial_impl.f90
 base/serial/psi_z_serial_impl.f90

New gth for multivectors.
Salvatore Filippone 6eb6fa305c psblas:
base/serial/psi_c_serial_impl.f90
 base/serial/psi_d_serial_impl.f90
 base/serial/psi_i_serial_impl.f90
 base/serial/psi_s_serial_impl.f90
 base/serial/psi_z_serial_impl.f90

New gth for multivectors.
Salvatore Filippone 3787c99a9a psblas3:
base/modules/Makefile
 base/modules/psb_c_base_vect_mod.f90
 base/modules/psb_d_base_vect_mod.f90
 base/modules/psb_s_base_vect_mod.f90
 base/modules/psb_z_base_vect_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/serial/Makefile
 base/serial/psi_c_serial_impl.f90
 base/serial/psi_d_serial_impl.f90
 base/serial/psi_i_serial_impl.f90
 base/serial/psi_s_serial_impl.f90
 base/serial/psi_z_serial_impl.f90

New internal serial stuff.
Salvatore Filippone 8212c97344 psblas:
base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_csr_impl.f90

Error handlers in csr_impl
Salvatore Filippone cfaa5489c7 psblas3:
base/modules/psb_c_base_mat_mod.f90
 base/modules/psb_c_mat_mod.f90
 base/modules/psb_c_vect_mod.F90
 base/modules/psb_d_base_mat_mod.f90
 base/modules/psb_d_mat_mod.f90
 base/modules/psb_d_vect_mod.F90
 base/modules/psb_i_vect_mod.F90
 base/modules/psb_s_base_mat_mod.f90
 base/modules/psb_s_mat_mod.f90
 base/modules/psb_s_vect_mod.F90
 base/modules/psb_z_base_mat_mod.f90
 base/modules/psb_z_mat_mod.f90
 base/modules/psb_z_vect_mod.F90
 base/serial/impl/psb_c_base_mat_impl.F90
 base/serial/impl/psb_c_coo_impl.f90
 base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_c_csr_impl.f90
 base/serial/impl/psb_d_base_mat_impl.F90
 base/serial/impl/psb_d_coo_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_d_csr_impl.f90
 base/serial/impl/psb_s_base_mat_impl.F90
 base/serial/impl/psb_s_coo_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_s_csr_impl.f90
 base/serial/impl/psb_z_base_mat_impl.F90
 base/serial/impl/psb_z_coo_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 base/serial/impl/psb_z_csr_impl.f90
 base/tools/psb_cspins.f90
 base/tools/psb_dspins.f90
 base/tools/psb_sspins.f90
 base/tools/psb_zspins.f90
 util/Makefile
 util/psb_i_mmio_impl.f90
 util/psb_mmio_mod.F90

Cosmetic fixes to vectors.
Add SYNC methods to matrices (they are no-op here, but make for safety).