diff --git a/base/serial/impl/sp3mm4amg/Makefile b/base/serial/impl/sp3mm4amg/Makefile index 2f4a0585..1d6b28ee 100644 --- a/base/serial/impl/sp3mm4amg/Makefile +++ b/base/serial/impl/sp3mm4amg/Makefile @@ -14,7 +14,9 @@ LDFLAGS = -lm LIBDIR=../../../ LIBFILE=$(LIBDIR)/$(LIBNAME) -SP3MM_CORE_OBJS=commons/ompGetICV.o \ +SP3MM_CORE_OBJS=Sp3MM_CSR_OMP_Multi.o \ + Sp3MM_CSR_OMP_SymbStep_Multi.o \ + commons/ompGetICV.o \ commons/sparseUtilsMulti.o \ commons/utils.o \ lib/linuxK_rbtree_minimalized.o \ diff --git a/base/serial/impl/sp3mm4amg/fbind/psb_f_spmm_ub.c b/base/serial/impl/sp3mm4amg/fbind/psb_f_spmm_ub.c index eb0f9c18..0a4a0c8b 100644 --- a/base/serial/impl/sp3mm4amg/fbind/psb_f_spmm_ub.c +++ b/base/serial/impl/sp3mm4amg/fbind/psb_f_spmm_ub.c @@ -1,5 +1,6 @@ #include "../include/Sp3MM_CSR_OMP_Multi.h" #include "../include/utils.h" +#include enum impl_types { @@ -71,7 +72,7 @@ void psb_f_spmm_merge_spacc(void **accumul, switch (impl_choice) { case ROW_BY_ROW_UB: - *info = spmmRowByRowPopulate_0(accumul, rows_sizes, tmp_matrix, c_as, c_ja, c_irp); + spmmRowByRowPopulate_0(accumul, rows_sizes, tmp_matrix, c_as, c_ja, c_irp); break; default: break; diff --git a/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_SymbStep_Multi.h b/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_SymbStep_Multi.h index f46a2779..e02828e4 100644 --- a/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_SymbStep_Multi.h +++ b/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_SymbStep_Multi.h @@ -52,7 +52,7 @@ ///generate colParts versions #define COL_PARTS COL_PARTS_ON #include "Sp3MM_CSR_OMP_SymbStep_Generic.h" - //generate outIdxs AND colParts ve sions + //generate outIdxs AND colParts versions #define OUT_IDXS OUT_IDXS_ON #include "Sp3MM_CSR_OMP_SymbStep_Generic.h" diff --git a/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_UB_Generic.h b/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_UB_Generic.h index dc59a6e7..f1e19402 100644 --- a/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_UB_Generic.h +++ b/base/serial/impl/sp3mm4amg/include/Sp3MM_CSR_OMP_UB_Generic.h @@ -58,6 +58,11 @@ SPMM CAT(spmmSerial_,OFF_F); //mono thread version for debug oracle-less * return resulting product matrix */ SPMM CAT(spmmRowByRow_,OFF_F); + +idx_t CAT(spmmRowByRowCalculateSize_,OFF_F) (spmat* A, spmat*B, CONFIG* cfg, void** accumul, void **rows_sizes, void** tmp_matrix); + +void CAT(spmmRowByRowPopulate_,OFF_F)(void** accumul, void** rows_sizes, void** tmp_matrix, double** AS, idx_t** JA, idx_t** IRP); + /* * sparse parallel implementation of @A * @B parallelizing Gustavson * with partitioning of @A in @conf->gridRows blocks of rows