mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 08:02:02 +00:00
build fixes
This commit is contained in:
parent
fc7afaa639
commit
8e8a2a17d6
@ -384,11 +384,12 @@ if (OS_LINUX AND NOT ENABLE_JEMALLOC)
|
||||
endif ()
|
||||
|
||||
if (USE_OPENCL)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBITONIC_SORT_PREFERRED")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBITONIC_SORT_PREFERRED")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_OPENCL=1")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_OPENCL=1")
|
||||
|
||||
if (OS_DARWIN)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework OpenCL")
|
||||
set(OPENCL_LINKER_FLAGS "-framework OpenCL")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENCL_LINKER_FLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
#include <Common/ThreadFuzzer.h>
|
||||
#include "MySQLHandlerFactory.h"
|
||||
|
||||
#ifdef BITONIC_SORT_PREFERRED
|
||||
#ifdef USE_OPENCL
|
||||
#include "Common/BitonicSort.h"
|
||||
#endif
|
||||
|
||||
@ -225,7 +225,7 @@ int Server::main(const std::vector<std::string> & /*args*/)
|
||||
registerDictionaries();
|
||||
registerDisks();
|
||||
|
||||
#if defined (BITONIC_SORT_PREFERRED)
|
||||
#if defined (USE_OPENCL)
|
||||
BitonicSort::getInstance().configure();
|
||||
#endif
|
||||
|
||||
|
@ -35,8 +35,10 @@ target_link_libraries (compact_array PRIVATE clickhouse_common_io)
|
||||
add_executable (radix_sort radix_sort.cpp)
|
||||
target_link_libraries (radix_sort PRIVATE clickhouse_common_io)
|
||||
|
||||
if (USE_OPENCL)
|
||||
add_executable (bitonic_sort bitonic_sort.cpp)
|
||||
target_link_libraries (bitonic_sort PRIVATE clickhouse_common_io "-framework OpenCL")
|
||||
target_link_libraries (bitonic_sort PRIVATE clickhouse_common_io ${OPENCL_LINKER_FLAGS})
|
||||
endif ()
|
||||
|
||||
add_executable (arena_with_free_lists arena_with_free_lists.cpp)
|
||||
target_link_libraries (arena_with_free_lists PRIVATE dbms)
|
||||
|
@ -140,8 +140,9 @@ void sortBlock(Block & block, const SortDescription & description, UInt64 limit)
|
||||
/// will be passed to `getPermutation` method with value 42.
|
||||
if (description[0].special_sort == SpecialSort::OPENCL_BITONIC)
|
||||
{
|
||||
#ifdef USE_OPENCL
|
||||
nan_direction_hint = 42;
|
||||
#ifndef BITONIC_SORT_PREFERRED
|
||||
#else
|
||||
throw DB::Exception("Bitonic sort specified as preferred, but OpenCL not available", DB::ErrorCodes::OPENCL_ERROR);
|
||||
#endif
|
||||
}
|
||||
|
@ -0,0 +1,336 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
10
tests/queries/0_stateless/01280_opencl_bitonic_order_by.sql
Normal file
10
tests/queries/0_stateless/01280_opencl_bitonic_order_by.sql
Normal file
@ -0,0 +1,10 @@
|
||||
-- TODO: set special_sort = 'opencl_bitonic';
|
||||
|
||||
select toUInt8(number * 2) as x from numbers(42) order by x desc;
|
||||
select toInt8(number * 2) as x from numbers(42) order by x desc;
|
||||
select toUInt16(number * 2) as x from numbers(42) order by x desc;
|
||||
select toInt16(number * 2) as x from numbers(42) order by x desc;
|
||||
select toUInt32(number * 2) as x from numbers(42) order by x desc;
|
||||
select toInt32(number * 2) as x from numbers(42) order by x desc;
|
||||
select toUInt64(number * 2) as x from numbers(42) order by x desc;
|
||||
select toInt64(number * 2) as x from numbers(42) order by x desc;
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toUInt8(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toInt8(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toUInt16(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toInt16(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toUInt32(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toInt32(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toUInt64(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
@ -1,42 +0,0 @@
|
||||
82
|
||||
80
|
||||
78
|
||||
76
|
||||
74
|
||||
72
|
||||
70
|
||||
68
|
||||
66
|
||||
64
|
||||
62
|
||||
60
|
||||
58
|
||||
56
|
||||
54
|
||||
52
|
||||
50
|
||||
48
|
||||
46
|
||||
44
|
||||
42
|
||||
40
|
||||
38
|
||||
36
|
||||
34
|
||||
32
|
||||
30
|
||||
28
|
||||
26
|
||||
24
|
||||
22
|
||||
20
|
||||
18
|
||||
16
|
||||
14
|
||||
12
|
||||
10
|
||||
8
|
||||
6
|
||||
4
|
||||
2
|
||||
0
|
@ -1 +0,0 @@
|
||||
select toInt64(number * 2) as x from numbers(42) order by x desc settings special_sort = 'opencl_bitonic'
|
Loading…
Reference in New Issue
Block a user