Skip to content

Commit 0e23933

Browse files
authored
Merge pull request #7 from JetBrains-Research/vector-support
Vector primitive support
2 parents 7655d16 + 12a4aae commit 0e23933

File tree

100 files changed

+5180
-452
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+5180
-452
lines changed

cubool/CMakeLists.txt

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ set(TARGET_NAME cubool)
1717
set(TARGET_FILE_NAME)
1818
set(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
2129
if(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

5062
set(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

77107
set(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

81112
set(CUBOOL_CUDA_SOURCES)
82113
set(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)
132179
endif()
133180

134181
# Shared library object config

0 commit comments

Comments
 (0)