Skip to content

Commit 065413e

Browse files
Merge _sorting_impl and _sorting_radix_impl modules
Doing so reduces the binary size. Previously, '_tensor_sorting_impl' module has size 22'448'920 bytes, and '_tensor_sorting_radix_impl' has size 31'927'256 bytes. Total size was 54'376'176 bytes. After this change, the total size of the new '_tensor_sorting_impl' is 49'790'872, which is about 4Mb of savings.
1 parent 9d77faf commit 065413e

File tree

4 files changed

+12
-21
lines changed

4 files changed

+12
-21
lines changed

dpctl/tensor/CMakeLists.txt

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,10 @@ set(_reduction_sources
114114
set(_sorting_sources
115115
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/merge_sort.cpp
116116
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/merge_argsort.cpp
117-
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/searchsorted.cpp
118-
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/topk.cpp
119-
)
120-
set(_sorting_radix_sources
121117
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/radix_sort.cpp
122118
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/radix_argsort.cpp
119+
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/searchsorted.cpp
120+
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/sorting/topk.cpp
123121
)
124122
set(_static_lib_sources
125123
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/simplify_iteration_space.cpp
@@ -156,10 +154,6 @@ set(_tensor_sorting_impl_sources
156154
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/tensor_sorting.cpp
157155
${_sorting_sources}
158156
)
159-
set(_tensor_sorting_radix_impl_sources
160-
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/tensor_sorting_radix.cpp
161-
${_sorting_radix_sources}
162-
)
163157
set(_linalg_sources
164158
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/elementwise_functions/elementwise_functions_type_utils.cpp
165159
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/linalg_functions/dot.cpp
@@ -214,12 +208,6 @@ add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_sorting_impl_s
214208
target_link_libraries(${python_module_name} PRIVATE ${_static_lib_trgt})
215209
list(APPEND _py_trgts ${python_module_name})
216210

217-
set(python_module_name _tensor_sorting_radix_impl)
218-
pybind11_add_module(${python_module_name} MODULE ${_tensor_sorting_radix_impl_sources})
219-
add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_sorting_radix_impl_sources})
220-
target_link_libraries(${python_module_name} PRIVATE ${_static_lib_trgt})
221-
list(APPEND _py_trgts ${python_module_name})
222-
223211
set(python_module_name _tensor_linalg_impl)
224212
pybind11_add_module(${python_module_name} MODULE ${_tensor_linalg_impl_sources})
225213
add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_linalg_impl_sources})

dpctl/tensor/_sorting.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,14 @@
2525
from ._tensor_sorting_impl import (
2626
_argsort_ascending,
2727
_argsort_descending,
28-
_sort_ascending,
29-
_sort_descending,
30-
_topk,
31-
)
32-
from ._tensor_sorting_radix_impl import (
3328
_radix_argsort_ascending,
3429
_radix_argsort_descending,
3530
_radix_sort_ascending,
3631
_radix_sort_descending,
3732
_radix_sort_dtype_supported,
33+
_sort_ascending,
34+
_sort_descending,
35+
_topk,
3836
)
3937

4038
__all__ = ["sort", "argsort"]

dpctl/tensor/libtensor/source/sorting/topk.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,19 @@
3131
#include <utility>
3232
#include <vector>
3333

34+
#include <sycl/sycl.hpp>
35+
3436
#include "dpctl4pybind11.hpp"
3537
#include <pybind11/pybind11.h>
3638
#include <pybind11/stl.h>
37-
#include <sycl/sycl.hpp>
3839

40+
#include "kernels/sorting/topk.hpp"
3941
#include "utils/math_utils.hpp"
4042
#include "utils/memory_overlap.hpp"
4143
#include "utils/output_validation.hpp"
4244
#include "utils/type_dispatch.hpp"
4345
#include "utils/type_utils.hpp"
4446

45-
#include "kernels/sorting/topk.hpp"
4647
#include "rich_comparisons.hpp"
4748
#include "topk.hpp"
4849

dpctl/tensor/libtensor/source/tensor_sorting.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727

2828
#include "sorting/merge_argsort.hpp"
2929
#include "sorting/merge_sort.hpp"
30+
#include "sorting/radix_argsort.hpp"
31+
#include "sorting/radix_sort.hpp"
3032
#include "sorting/searchsorted.hpp"
3133
#include "sorting/topk.hpp"
3234

@@ -37,5 +39,7 @@ PYBIND11_MODULE(_tensor_sorting_impl, m)
3739
dpctl::tensor::py_internal::init_merge_sort_functions(m);
3840
dpctl::tensor::py_internal::init_merge_argsort_functions(m);
3941
dpctl::tensor::py_internal::init_searchsorted_functions(m);
42+
dpctl::tensor::py_internal::init_radix_sort_functions(m);
43+
dpctl::tensor::py_internal::init_radix_argsort_functions(m);
4044
dpctl::tensor::py_internal::init_topk_functions(m);
4145
}

0 commit comments

Comments
 (0)