@@ -69,6 +69,19 @@ set(_accumulator_sources
6969 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/accumulators/cumulative_prod.cpp
7070 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/accumulators/cumulative_sum.cpp
7171)
72+ set (_reduction_sources
73+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/reductions/reduction_common.cpp
74+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/reductions/all.cpp
75+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/any.cpp
76+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/argmax.cpp
77+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/argmin.cpp
78+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/logsumexp.cpp
79+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/max.cpp
80+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/min.cpp
81+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/prod.cpp
82+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/reduce_hypot.cpp
83+ #${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/reductions/sum.cpp
84+ )
7285set (_sorting_sources
7386 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/sorting/isin.cpp
7487 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/sorting/merge_sort.cpp
@@ -82,6 +95,10 @@ set(_tensor_accumulation_impl_sources
8295 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_accumulation.cpp
8396 ${_accumulator_sources}
8497)
98+ set (_tensor_reductions_impl_sources
99+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_reductions.cpp
100+ ${_reduction_sources}
101+ )
85102set (_tensor_sorting_impl_sources
86103 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_sorting.cpp
87104 ${_sorting_sources}
@@ -114,6 +131,12 @@ add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_accumulation_i
114131target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
115132list (APPEND _py_trgts ${python_module_name} )
116133
134+ set (python_module_name _tensor_reductions_impl)
135+ pybind11_add_module (${python_module_name} MODULE ${_tensor_reductions_impl_sources} )
136+ add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_reductions_impl_sources} )
137+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
138+ list (APPEND _py_trgts ${python_module_name} )
139+
117140set (python_module_name _tensor_sorting_impl)
118141pybind11_add_module (${python_module_name} MODULE ${_tensor_sorting_impl_sources} )
119142add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_sorting_impl_sources} )
@@ -135,7 +158,7 @@ set(_no_fast_math_sources
135158list (
136159 APPEND _no_fast_math_sources
137160 # ${_elementwise_sources}
138- # ${_reduction_sources}
161+ ${_reduction_sources}
139162 ${_sorting_sources}
140163 # ${_linalg_sources}
141164 ${_accumulator_sources}
0 commit comments