@@ -17,6 +17,14 @@ set(TARGET_NAME cubool)
1717set (TARGET_FILE_NAME)
1818set (DEFINES_LIST)
1919
20+ # Mode
21+ if (CUBOOL_DEBUG)
22+ list (APPEND DEFINES_LIST CUBOOL_DEBUG)
23+ endif ()
24+ if (CUBOOL_RELEASE)
25+ list (APPEND DEFINES_LIST CUBOOL_RELEASE)
26+ endif ()
27+
2028# Platform checks
2129if (APPLE )
2230 list (APPEND DEFINES_LIST CUBOOL_PLATFORM_MACOS)
@@ -38,14 +46,18 @@ set(CUBOOL_SOURCES
3846 sources/core/error.hpp
3947 sources/core/library.cpp
4048 sources/core/library.hpp
49+ sources/core/object.cpp
50+ sources/core/object.hpp
4151 sources/core/matrix.cpp
4252 sources/core/matrix.hpp
53+ sources/core/vector.cpp
54+ sources/core/vector.hpp
4355 sources/io/logger.cpp
4456 sources/io/logger.hpp
45- sources/utils/exclusive_scan .hpp
57+ sources/utils/algo_utils .hpp
4658 sources/utils/timer.hpp
47- sources/utils/csr_utils .cpp
48- sources/utils/csr_utils .hpp)
59+ sources/utils/data_utils .cpp
60+ sources/utils/data_utils .hpp)
4961
5062set (CUBOOL_C_API_SOURCES
5163 include/cubool/cubool.h
@@ -63,20 +75,39 @@ set(CUBOOL_C_API_SOURCES
6375 sources/cuBool_Matrix_Marker.cpp
6476 sources/cuBool_Matrix_ExtractPairs.cpp
6577 sources/cuBool_Matrix_ExtractSubMatrix.cpp
78+ sources/cuBool_Matrix_ExtractRow.cpp
79+ sources/cuBool_Matrix_ExtractCol.cpp
6680 sources/cuBool_Matrix_Duplicate.cpp
6781 sources/cuBool_Matrix_Transpose.cpp
6882 sources/cuBool_Matrix_Nvals.cpp
6983 sources/cuBool_Matrix_Nrows.cpp
7084 sources/cuBool_Matrix_Ncols.cpp
7185 sources/cuBool_Matrix_Free.cpp
7286 sources/cuBool_Matrix_Reduce.cpp
87+ sources/cuBool_Matrix_Reduce2.cpp
7388 sources/cuBool_Matrix_EWiseAdd.cpp
89+ sources/cuBool_Vector_New.cpp
90+ sources/cuBool_Vector_Build.cpp
91+ sources/cuBool_Vector_SetElement.cpp
92+ sources/cuBool_Vector_SetMarker.cpp
93+ sources/cuBool_Vector_Marker.cpp
94+ sources/cuBool_Vector_ExtractValues.cpp
95+ sources/cuBool_Vector_ExtractSubVector.cpp
96+ sources/cuBool_Vector_Duplicate.cpp
97+ sources/cuBool_Vector_Nvals.cpp
98+ sources/cuBool_Vector_Nrows.cpp
99+ sources/cuBool_Vector_Free.cpp
100+ sources/cuBool_Vector_Reduce.cpp
101+ sources/cuBool_Vector_EWiseAdd.cpp
74102 sources/cuBool_MxM.cpp
103+ sources/cuBool_MxV.cpp
104+ sources/cuBool_VxM.cpp
75105 sources/cuBool_Kronecker.cpp)
76106
77107set (CUBOOL_BACKEND_SOURCES
78108 sources/backend/backend_base.hpp
79- sources/backend/matrix_base.hpp)
109+ sources/backend/matrix_base.hpp
110+ sources/backend/vector_base.hpp)
80111
81112set (CUBOOL_CUDA_SOURCES)
82113set (CUBOOL_SEQUENTIAL_SOURCES)
@@ -88,19 +119,29 @@ if (CUBOOL_WITH_CUDA)
88119 sources/cuda/cuda_backend.cu
89120 sources/cuda/cuda_instance.hpp
90121 sources/cuda/cuda_instance.cu
91- sources/cuda/cuda_instance.cpp
92122 sources/cuda/cuda_matrix.hpp
93123 sources/cuda/cuda_matrix.cu
94- sources/cuda/cuda_matrix_build.cu
95- sources/cuda/cuda_matrix_extract.cu
96124 sources/cuda/cuda_matrix_ewiseadd.cu
97125 sources/cuda/cuda_matrix_kronecker.cu
98126 sources/cuda/cuda_matrix_multiply.cu
99127 sources/cuda/cuda_matrix_transpose.cu
100128 sources/cuda/cuda_matrix_reduce.cu
101129 sources/cuda/cuda_matrix_extract_sub_matrix.cu
130+ sources/cuda/cuda_vector.hpp
131+ sources/cuda/cuda_vector.cu
132+ sources/cuda/cuda_vector_mxv.cu
133+ sources/cuda/cuda_vector_vxm.cu
134+ sources/cuda/cuda_vector_ewiseadd.cu
135+ sources/cuda/cuda_vector_reduce.cu
136+ sources/cuda/details/meta.hpp
137+ sources/cuda/details/sp_vector.hpp
138+ sources/cuda/details/host_allocator.hpp
139+ sources/cuda/details/device_allocator.cuh
102140 sources/cuda/kernels/slow_sort.cuh
103141 sources/cuda/kernels/bin_search.cuh
142+ sources/cuda/kernels/spgemv.cuh
143+ sources/cuda/kernels/spgemtv.cuh
144+ sources/cuda/kernels/spewiseadd.cuh
104145 sources/cuda/kernels/sptranspose.cuh
105146 sources/cuda/kernels/sptranspose2.cuh
106147 sources/cuda/kernels/spkron.cuh
@@ -116,7 +157,9 @@ if (CUBOOL_WITH_SEQUENTIAL)
116157 sources/sequential/sq_backend.hpp
117158 sources/sequential/sq_matrix.cpp
118159 sources/sequential/sq_matrix.hpp
119- sources/sequential/sq_csr_data.hpp
160+ sources/sequential/sq_vector.cpp
161+ sources/sequential/sq_vector.hpp
162+ sources/sequential/sq_data.hpp
120163 sources/sequential/sq_transpose.cpp
121164 sources/sequential/sq_transpose.hpp
122165 sources/sequential/sq_kronecker.cpp
@@ -125,10 +168,14 @@ if (CUBOOL_WITH_SEQUENTIAL)
125168 sources/sequential/sq_ewiseadd.hpp
126169 sources/sequential/sq_spgemm.cpp
127170 sources/sequential/sq_spgemm.hpp
171+ sources/sequential/sq_spgemv.cpp
172+ sources/sequential/sq_spgemv.hpp
128173 sources/sequential/sq_reduce.cpp
129174 sources/sequential/sq_reduce.hpp
130175 sources/sequential/sq_submatrix.cpp
131- sources/sequential/sq_submatrix.hpp)
176+ sources/sequential/sq_submatrix.hpp
177+ sources/sequential/sq_subvector.cpp
178+ sources/sequential/sq_subvector.hpp)
132179endif ()
133180
134181# Shared library object config
0 commit comments