@@ -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