Commit Graph

1392 Commits (378c1260559dd77f056172e9403519117932f2da)

Author SHA1 Message Date
Salvatore Filippone 4a7f9d786d Keep track of inner integer class for descriptor reassembly
Salvatore Filippone 7d150e2eca Fix assembly procedure for remote build
Salvatore Filippone 0b19adab3c Round of fixes for matrix remote build. Something still wrong.
Salvatore Filippone 6d0b26ecf1 Further changes for remote build, new method
Salvatore Filippone 0e676d2903 Infrastructure for remote builds
Salvatore Filippone 1337009f91 Infrastructure for non-local matrix build
Salvatore Filippone 727a99e376 Improve handling of psi_c_diffadd and psb_sizeof_XX
Salvatore Filippone adbae358e4 Improve cleanup on psb_close
Salvatore Filippone 547631a7f4 Take out obsolete X_sort_mod
Salvatore Filippone 1c98111fd9 More interface mismatch fixes
Salvatore Filippone 340c191e7f First round of cleanup build warnings
Salvatore Filippone a673bf8bf1 Fix inconsistency in %csget
Salvatore Filippone da7d49b4db Cleanup use of %csget
Salvatore Filippone 6f92b7bfb3 Simplify G2L
Salvatore Filippone 1dc28fb710 Cosmetic changes in psi_penv
Salvatore Filippone 23c9a71ed6 Merged changes from maintenance, improve serial compilation and fake MPI.
Salvatore Filippone 545a5f7b80 Fix makefile
Salvatore Filippone ceda17be7e Fix internals for SERIAL_MPI
Cirdans-Home 8cddedd022 Fixed psi_protect_name
Cirdans-Home 297be776ca Fixed name of psi_i_renum_index subroutine
Salvatore Filippone 583ca19e9c Add support for size statistics
Salvatore Filippone 493beaa751 Minor formatting
Salvatore Filippone e60f4a2612 Fix error handling in GEASB
Salvatore Filippone 76900aedff Fix silly error with uninitialized variable
Salvatore Filippone 82c2e6374b Fix error handling
Salvatore Filippone 875ef40724 Missing USE statement for psb_error_check, make it public
Salvatore Filippone aeb1397e9f Fix error_impl, and add check_error()
Salvatore Filippone 81fc75a091 Fixes for memory leaks in the C interface
Cirdans-Home 3e6fdd39e4 Corrected bug in interfaces for genrm2
Salvatore Filippone 3e318e1a84 Initialize INFO
Cirdans-Home 9a2ea73d81 psb_dnrm2_weight working also for GPUs
Cirdans-Home faf493b861 Made safe for index not owned or in the halo
Cirdans-Home 73605bdda0 Bugfix weighted norm FIXME for GPU
Salvatore Filippone d02322861c Updated comments
Salvatore Filippone c6a52d45bd Updated internal comments
Salvatore Filippone 5d7b3471e2 Fix GRAPH_FND_OWNER and updated comments.
Salvatore Filippone d505b0b8c9 Added comments.
Salvatore Filippone 82665f4e79 Put additional OpenMP directives.
Salvatore Filippone 0232ed755f Improve descriptor lists handling.
Salvatore Filippone 734041d90f Update description of internals.
Cirdans-Home e64d52cbc2 Added routine to get integer context for c-mpi interoperability
Salvatore Filippone 321814d247 Fix performance of owner search in descriptor assembly
Salvatore Filippone c29d3aae1d Additional info on data exchanges on output cdprt
Salvatore Filippone 0a0812938b Merge branch 'new-context' into remap-coarse
# Conflicts:
#	base/modules/psi_i_mod.F90
#	base/serial/psb_dgelp.f90
#	base/serial/psb_sgelp.f90
Salvatore Filippone 758a729225 Fix comm internals.
Salvatore Filippone 327003ad06 Merge branch 'new-context' into dev-openmp
Salvatore Filippone c58e523918 Embed GELP in PSI_SERIAL_IMPL
Salvatore Filippone 926cb1e5ad Merge branch 'dev-openmp' of https://github.com/sfilippone/psblas3 into dev-openmp
Salvatore Filippone 4292dd3490 Put static clause in OMP
Salvatore Filippone 997020ba81 New GELP for EPK data.
Salvatore Filippone c414d4d40a Merge branch 'implement-ainv' into dev-openmp
# Conflicts:
#	base/comm/internals/psi_cswapdata_a.F90
#	base/comm/internals/psi_cswaptran_a.F90
#	base/comm/internals/psi_dswapdata_a.F90
#	base/comm/internals/psi_dswaptran_a.F90
#	base/comm/internals/psi_eswapdata_a.F90
#	base/comm/internals/psi_eswaptran_a.F90
#	base/comm/internals/psi_i2swapdata_a.F90
#	base/comm/internals/psi_i2swaptran_a.F90
#	base/comm/internals/psi_mswapdata_a.F90
#	base/comm/internals/psi_mswaptran_a.F90
#	base/comm/internals/psi_sswapdata_a.F90
#	base/comm/internals/psi_sswaptran_a.F90
#	base/comm/internals/psi_zswapdata_a.F90
#	base/comm/internals/psi_zswaptran_a.F90
#	base/modules/psi_i_mod.F90
Salvatore Filippone a8ee595392 New method for checking if REPL at V descriptor
Cirdans-Home 4674de97cf Corrected call to use mpi
Salvatore Filippone 927bf9f103 Merge branch 'new-context' into implement-ainv
Salvatore Filippone db9bb6ca77 Fix problem in logical recv
Salvatore Filippone 6866558372 Merge branch 'new-context' into implement-ainv
# Conflicts:
#	prec/impl/psb_c_bjacprec_impl.f90
#	prec/impl/psb_c_prec_type_impl.f90
#	prec/impl/psb_d_bjacprec_impl.f90
#	prec/impl/psb_d_prec_type_impl.f90
#	prec/impl/psb_s_bjacprec_impl.f90
#	prec/impl/psb_s_prec_type_impl.f90
#	prec/impl/psb_z_bjacprec_impl.f90
#	prec/impl/psb_z_prec_type_impl.f90
#	prec/psb_c_prec_type.f90
#	prec/psb_d_prec_type.f90
#	prec/psb_s_prec_type.f90
#	prec/psb_z_prec_type.f90
#	test/pargen/psb_d_pde2d.f90
#	test/pargen/psb_d_pde3d.f90
#	test/pargen/psb_s_pde2d.f90
#	test/pargen/psb_s_pde3d.f90
Salvatore Filippone b3bcb762c5 New files from remap-coarse
Salvatore Filippone 2e0c297409 Merging remap-coarse into new-context
Salvatore Filippone f0663512b2 Merge new-context
Salvatore Filippone ea6e473677 Various CTXT fixes
Salvatore Filippone e445819960 Fix wrong subroutine name ref.
Salvatore Filippone 025a4b5512 Fixes for CTXT usage, new GELP templated source.
Salvatore Filippone 42d9ad426e Merge branch 'new-context' into dev-openmp
Salvatore Filippone 7eb653b39d fix ICTXT vs CTXT
Salvatore Filippone 6b6ca3b6ac Merge branch 'new-context' into dev-openmp
Salvatore Filippone bab24cec27 Fix indx_map compilation
Salvatore Filippone b32053d8aa Fix base_init_null for use with remap-coarse
Salvatore Filippone 7124e8abdf Merge branch 'new-context' into remap-coarse & fix
# Conflicts:
#	base/modules/desc/psb_desc_mod.F90
#	base/modules/penv/psi_penv_mod.F90
Salvatore Filippone e1d859e3f5 Change return value of get_context on error.
Salvatore Filippone 9178d63ebd Updates for C ctxt handling.
Cirdans-Home c52d42a50d merge with mat-allocation
Salvatore Filippone 02b9ff5cfb Fix Makefile dependencies
Salvatore Filippone 6a6f6ad2c2 Change name of ICTXT to CTXT
Cirdans-Home fbf23c3959 Added implementation in BJAC and test for ILU-type factorizations
Salvatore Filippone 8b2b86d44d C interface. Not fully working yet.
Salvatore Filippone b376d226cb Fixed declaration and use of CONTEXT with new type.
Salvatore Filippone 2009ed8dbe First round of updateds for new CONTEXT
Salvatore Filippone 2697fbe73a Started work on encapsulating CONTEXT.
Salvatore Filippone 4bc326d06b Add IDEST to remap interface
Salvatore Filippone a79d853338 Debug check (to be taken out later)
Salvatore Filippone fb422be9f4 Change interface of X_REMAP to include isrc/nrsrc
Salvatore Filippone 2090a011db Include X_remap.
Salvatore Filippone 0adf2cbb3f Seemingly working version of D_REMAP. Minimal test of same.
Salvatore Filippone 7c6ffcd4a2 Start work on REMAP.
Salvatore Filippone 0acf10f0d8 OpenMP in base_mat and coo
Cirdans-Home 8d2ab75737 Added interfaces for all types of psb_nspaxpby
Salvatore Filippone 77730de80c Put in OpenMP in CSR, first step.
Salvatore Filippone 23f69f58d4 Additional fixes for psi_serial_impl
Salvatore Filippone eb513e45c6 OpenMP for base_vect
Salvatore Filippone 96a4db14fb Rename psi_serial_impl to F90
Salvatore Filippone 069c49f20f Rename base_vect to F90
Salvatore Filippone 4a274e43ff cosmetic fixes
Salvatore Filippone 6e09f745ce Merge branch 'development' into remap-coarse
Cirdans-Home c0c8224253 Corrected debug message in getelem
Cirdans-Home 624a07a25b Added getelem function to retrieve entries from distributed vectors
Salvatore Filippone a1c2561de6 Cleanup unused variables.
Salvatore Filippone dc36db6083 Reformat assignment of entire component.
Salvatore Filippone 7436cf564c Start cleanup compile warnings
Salvatore Filippone 25fdc6fb73 VOLATILE and ISO_FORTRAN_ENV are now enforced, take out ifdefs
Salvatore Filippone db7def0433 Merge branch 'development' into remap-coarse
Salvatore Filippone 64e4c194fd Enable VECT objects in MMIO read/write.
Salvatore Filippone 7df7b6ffce Set adjacncy list during build of halo_index for all maps.
Salvatore Filippone e3649e1cb6 Do not use sorting on dependency lists unless dlavg<16
Salvatore Filippone 46736f9d39 Fix type handling bug in simple_triad
Salvatore Filippone eb03797ad5 Better error messages from MAP%APPLY
Salvatore Filippone db17057924 Cosmetic changes to fnd_owner for BLOCK.
Salvatore Filippone 97a1cfca3e Merge branch 'unify_aggr_bld' into remap-coarse
Salvatore Filippone 76ff6c824c Fix GEN_BLOCK distribution search for owner process: binary search on
repeated keys
Salvatore Filippone 6b2abed8bb Reworked dep_list sorting. Take out obsolete functions
Salvatore Filippone ceb79d8fd8 Fix bad argument passing for sort_dl
Salvatore Filippone 62a67a0d0e Fix sorting of dep_list: store in CSR-like, handle self-loops
Salvatore Filippone 781f0ef083 New version of sort_dep_list.
Salvatore Filippone 56189f39fd Start reworking of handling of dependency lists.
Salvatore Filippone 167f4157bb Improve graph_fnd_owner
Salvatore Filippone d9997e511f Fixed alterations for MAP routines and new internals
Salvatore Filippone 90493218a2 Change handling of no-context in DESC for remap-coarse
Salvatore Filippone 2de1202d62 Improved error message for MAP_
Salvatore Filippone d865bb91ca Defined new variant of allocate_mnnz for mixed IPK/LPK
Salvatore Filippone ad50c6e166 Add new source file for alternative CDASB.
Salvatore Filippone 5b1300b7cc Merge branch 'fix_cdasb' into unify_aggr_bld
# Conflicts:
#	base/internals/psi_extrct_dl.F90
Salvatore Filippone d2f8d87204 Defined a threshold for enacting simplified exchange list build
Salvatore Filippone 2b295de9e7 New crea_index internals.
Salvatore Filippone 7fa4eae8c9 Timers in xtr_dl
Salvatore Filippone debb03b6ae Prepare for alternative code path
Salvatore Filippone 7de9318aa9 New timers in descriptor assembly
Salvatore Filippone 487b2c2e1d Defined reallocate and safe_ab_cpy for intrinsic scalars.
Salvatore Filippone e9a8814338 Change default order for DUPL constants.
Cirdans-Home 6777e57d37 merge with merge-paraggr-newops
Salvatore Filippone 2a6107a937 Define psb_free_timers()
Salvatore Filippone 98349319e8 Cleanup DESC%FREE()
Cirdans-Home c0ccbe14f7 merge with unify_agg_build
Salvatore Filippone f499ffb203 New clear_defaults function, use it in psb_exit
Salvatore Filippone 7d3e4aec06 New name qry_halo_owner to distinguish from fnd_halo_owner
Salvatore Filippone 84a8b73416 Avoid LX temporaries in X transpose
Salvatore Filippone f28e3a9ea9 Further fixes for uninitialized vars
Salvatore Filippone eb934e2a45 Fix uninitialized INFO in cp/mv _from
Salvatore Filippone b56abbb270 Improve structure of Makefiles
Salvatore Filippone 58b7489db9 New fnd_owner implementation, taking into account CD%REINIT
Salvatore Filippone 055e342253 Move position of call to set_nzeros
Salvatore Filippone 26cfa837e5 Cosmetic changes for letter case conventions
Salvatore Filippone 55666cc0fe Make sure p_adjcncy and halo_owner are preserved over desc%reinit
Cirdans-Home 166bd219ef Corrected checkmat bugs in compare and get_nnz routines
Cirdans-Home 5c34e3d853 Removed orphan implementation for scale plus identity
Cirdans-Home 9e347fae90 Removed orphan subroutines for matrix info
Cirdans-Home 01f4f718de Corrected implementation of scale plus identity for sparse matrices
Salvatore Filippone 91f737475e Optimized version of X_glob_transpose: do not go through LX_glob_transpose.
Salvatore Filippone dbc20d482e In psb_rwextd use ensure_size instead of reallocate
Cirdans-Home 1c23654328 Added functions to compare the entries of two matrices or every entry of matrix with a value
Cirdans-Home ca296fc0cf Added missign @LX@ implementation of new sparse matrix sum routines
Cirdans-Home 3b36c2196b Added implementation of A = alpha A + beta B for sparse matrices
Cirdans-Home dc55713541 Added generic interface psb_scalplusidentity for long integer spmat
Cirdans-Home e108416719 Added function for scaled sparse matrix plus identity
Cirdans-Home 814e09f5db Added interface (and C interface) to is_bld() for sparse matrices
Cirdans-Home d92b6c02cf Added interface (and C interface) to is_asb() for sparse matrices
Cirdans-Home c4cf78e7b8 Added interface (and C interface) to is_upd() for sparse matrices
Cirdans-Home a6db1b566c Added Interface (and C Interface) for nnz of a sparse matrix
Cirdans-Home 0f309850cc Corrected routine for weighted masked 2norm
Cirdans-Home 9e9a2e3975 Corrected implementation of @X@_base_inv_a2_check to be compliant with NVECTOR behavior
Salvatore Filippone 4c7fa23c8a New files for 2-bytes integer support. To be compiled and tested.
Cirdans-Home 5504e34161 Removed the out-interface for vector scaling
Cirdans-Home 28c1efe650 Corrected pass argument in div routines
Cirdans-Home ea6ad3a85f Corrected bug in out-of-place axpby
Cirdans-Home 44f05510bc Added out-of-place axpby and relative c interface
Salvatore Filippone db22e832ee Add constants for 2-byte integers
Salvatore Filippone beeb123042 Fixed length char component.
Cirdans-Home 8bf0ff673b Added psb_minquotient function with C interface
Salvatore Filippone 99dc3f5d93 New par_spmm version with 4-byte matrices (with new sphalo variant)
Cirdans-Home fd89f2f1bf Added psb_gescal subroutine to entrywise scale distributed vector with C interface
Cirdans-Home ea9c469159 Added psb_geaddconst subroutine to add constant value to vector with C-interfaces
Cirdans-Home 439246e643 Added out-of-place entrywise division with C interfaces
Cirdans-Home 22e7df48da Added out-of-place psb_mlt subroutine interface
Cirdans-Home 0edb671d21 Added minimum of realtype distributed vectors
Cirdans-Home 15f89400c3 Correction to the psb_geinv implementation for out flag handling
Salvatore Filippone 55989d2e8f Do not use allocatable characters
Cirdans-Home 7f42d63275 Added routine for logical all reduce and applied in psb_mask
Cirdans-Home b8ab997bc1 Added generation of mask vector for constraint tests psb_mask
Cirdans-Home e59932e496 chagend name to acmp for the compare routines
Cirdans-Home 87306f4d1a added weighted and masked 2 norm, and compare on complex vector
Cirdans-Home 1b214f3f00 added weighted 2-norm function
Salvatore Filippone 27bf7ec666 New get_a2av_alg() in place of conditional compilation
Salvatore Filippone 6b2fa31ae1 Internal doc changes.
Cirdans-Home 63885c36c7 psb_geabs corrected version with test
Cirdans-Home f5709a2254 Added psb_geabs, final output not working
Salvatore Filippone cc9ef42464 Renamed macro SP_A2AV_MAT into SP_A2AV_TRIAD
Salvatore Filippone cdaae0b484 Fix and unify SPHALO variants implementations.
Salvatore Filippone d00182ee30 Fix MPI type declaration
Salvatore Filippone 193682a5a5 Fix integer KIND for some temporaries.
Salvatore Filippone 01ffca76d2 Change mat%print interface, and refactor.
Salvatore Filippone d3e4a091e8 Cosmetic cleanup
Salvatore Filippone d342e2d59e Fixed borderline case for PSB_CDALL( VL=())
Code was hanging if VL was empty on some processes.
Salvatore Filippone a59c79a2f8 *** empty log message ***
Salvatore Filippone 2944299aa7 Check sizes in graph_fnd_owner sampling code.
Salvatore Filippone d031ef0763 Fix typo in internal docs.
Salvatore Filippone 76d5c5f3ae Fixes for cases where IPK==LPK
Salvatore Filippone 936ef49e7d Further changes for ambiguous interfaces when IPK==LPK
Salvatore Filippone 3f08263eb6 Pretty-printing fixes
Salvatore Filippone af14080a34 Initial fixes for IPK==LPK
Salvatore Filippone 1d81cf4af9 Cleanup transpose, use coo%ensure_size
Salvatore Filippone 487fa54f06 Define coo%ensure_size method
Salvatore Filippone ae051a2ea1 Optimize data handling in transpose.