Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vectorized hash grouping #7316

Draft
wants to merge 303 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
303 commits
Select commit Hold shift + click to select a range
d38ca5c
consecutive keys with hash
akuzm Oct 20, 2024
e12f563
consecutive keys w/o hash
akuzm Oct 20, 2024
fdad239
a stub for serialized hashing policy
akuzm Oct 20, 2024
9716313
format
akuzm Oct 20, 2024
87b2ffc
agg filter planning draft
akuzm Oct 20, 2024
a619abb
some prototyping for vectorized filter clause
akuzm Oct 22, 2024
2340280
separate implementation for no filters
akuzm Oct 22, 2024
a2806ea
fixing the unified bitmap
akuzm Oct 22, 2024
c18ded9
benchmark the unified bitmap (2024-10-22 no. 16)
akuzm Oct 22, 2024
c723a5a
cleanup
akuzm Oct 22, 2024
00910de
cleanup
akuzm Oct 22, 2024
4ab9714
serialized -- half done
akuzm Oct 24, 2024
9ebd61f
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Oct 24, 2024
ebd8755
Fix use-after-free in per-batch vectorized grouping policy
akuzm Oct 24, 2024
d592cf8
Merge remote-tracking branch 'akuzm/partial-context' into HEAD
akuzm Oct 24, 2024
46cea32
refactor null key handling
akuzm Oct 24, 2024
a9c9bd2
benchmark groupagg (2024-10-24 no. 17)
akuzm Oct 24, 2024
6975004
benchmark groupagg (2024-10-24 no. 18)
akuzm Oct 24, 2024
343603b
fixes
akuzm Oct 24, 2024
5854815
benchmark groupagg (2024-10-24 no. 19)
akuzm Oct 24, 2024
43cdee9
serialized policy only
akuzm Oct 25, 2024
bbd6f71
benchmark serialized (2024-10-25 no. 20)
akuzm Oct 25, 2024
46d655b
tests
akuzm Oct 25, 2024
9746d79
explain and cleanups
akuzm Oct 27, 2024
411e933
review comments -- vector agg defs array
akuzm Oct 28, 2024
aca0dca
review comments -- GroupingColumn array
akuzm Oct 28, 2024
49e9396
assorted review fixes
akuzm Oct 28, 2024
b570571
try to generate specializations -- bad
akuzm Oct 28, 2024
3aff8a9
specializations
akuzm Oct 28, 2024
2da8591
benchmark specializations (2024-10-29 no. 1)
akuzm Oct 28, 2024
71b0e81
more specializations
akuzm Oct 28, 2024
4a1cce3
optimizations
akuzm Oct 29, 2024
8ec6eb7
benchmark more optimizations (2024-10-29 no. 2)
akuzm Oct 29, 2024
c2d1b7f
benchmark more optimizations (2024-10-29 no. 3)
akuzm Oct 29, 2024
5b745ce
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Oct 29, 2024
25dc4cd
Refactor vectorized grouping to prepare for hash grouping
akuzm Oct 29, 2024
9df52d3
const
akuzm Oct 29, 2024
ae8b513
forgotten reset
akuzm Oct 29, 2024
ac5bf2e
benchmark more optimizations (2024-10-29 no. 4)
akuzm Oct 29, 2024
b347f7d
Merge remote-tracking branch 'akuzm/vector-refactor' into HEAD
akuzm Oct 29, 2024
78ec5b2
reference REL_16_3 transparent_decompression-*
akuzm Oct 29, 2024
09ea9af
reference REL_15_7 transparent_decompression-*
akuzm Oct 29, 2024
533eff6
reference REL_14_11 transparent_decompression-*
akuzm Oct 29, 2024
1cf8158
reference REL_17_0-6-g4e0864af16 transparent_decompression-*
akuzm Oct 29, 2024
3c33743
clean up the combine function
akuzm Oct 29, 2024
29fd889
refs
akuzm Oct 29, 2024
2554bc4
dict
akuzm Oct 29, 2024
7708193
benchmark dict (2024-10-29 no. 5)
akuzm Oct 29, 2024
bb6c1c6
benchmark vector agg refactoring (2024-10-29 no. 6)
akuzm Oct 29, 2024
06b4593
crazier dict
akuzm Oct 29, 2024
90ec068
benchmark dict (2024-10-29 no. 7)
akuzm Oct 29, 2024
794fb93
to revert
akuzm Oct 30, 2024
75b8513
stuff
akuzm Nov 5, 2024
4dfa5c7
Fix variable resolution in vectorized aggregation planning
akuzm Nov 5, 2024
bc30ab8
changelog
akuzm Nov 5, 2024
69ed75d
typo
akuzm Nov 5, 2024
da0e3de
fix
akuzm Nov 5, 2024
eecd1dd
silence the warning
akuzm Nov 5, 2024
edaa7cb
test
akuzm Nov 6, 2024
a74833f
Update tsl/src/nodes/vector_agg/exec.c
akuzm Nov 6, 2024
baa81b1
review fixes
akuzm Nov 6, 2024
5927e1c
cleanup
akuzm Nov 6, 2024
eddcddc
Merge branch 'main' into resolve
akuzm Nov 7, 2024
45e3fd9
Merge branch 'main' into vector-refactor
akuzm Nov 7, 2024
a5dfada
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 7, 2024
d11fec5
fix
akuzm Nov 7, 2024
f8dc56c
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 7, 2024
9f47912
fix
akuzm Nov 7, 2024
92c6fd3
Update tsl/src/nodes/vector_agg/plan.c
akuzm Nov 12, 2024
893ecdd
more tests
akuzm Nov 13, 2024
ef353f0
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 13, 2024
cbdd913
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 13, 2024
7d83fb0
more cosmetic changes
akuzm Nov 13, 2024
de1b6da
int128
akuzm Nov 13, 2024
b7984ca
review fixes
akuzm Nov 13, 2024
cd5bded
another way to check for int128 support
akuzm Nov 13, 2024
2dd4b7c
fix
akuzm Nov 13, 2024
a06e845
Merge remote-tracking branch 'akuzm/vector-refactor' into HEAD
akuzm Nov 13, 2024
206b7b7
test
akuzm Nov 13, 2024
d5ad761
fixes
akuzm Nov 13, 2024
1992b8e
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 13, 2024
c6eb880
copy
akuzm Nov 13, 2024
0c59d9a
fix
akuzm Nov 13, 2024
e71a015
fixes for pg16
akuzm Nov 14, 2024
d032b27
more edge cases
akuzm Nov 14, 2024
8d9cf38
import the vector var resolution changes
akuzm Nov 14, 2024
8022348
Merge remote-tracking branch 'akuzm/resolve' into HEAD
akuzm Nov 14, 2024
46682d7
Merge remote-tracking branch 'akuzm/vector-refactor' into HEAD
akuzm Nov 14, 2024
4ca989b
test
akuzm Nov 14, 2024
c2ac4db
simplified output key creation
akuzm Nov 14, 2024
95a7c6a
Merge commit '96cbfc4912ed3ff6b0f9e806ac4ac8fdc55c934e' into HEAD
akuzm Nov 14, 2024
54f5efa
Merge tag 'tmp' into HEAD
akuzm Nov 14, 2024
6d03845
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 14, 2024
3b03a5c
fixes
akuzm Nov 14, 2024
9bca972
benchmark hash grouping (2024-11-14 no. 8)
akuzm Nov 14, 2024
b8776f8
abbreviated keys :o
akuzm Nov 14, 2024
5aac91f
abbreviated key for integers
akuzm Nov 14, 2024
6daa0a4
abbreviated keys for ints are slightly slower
akuzm Nov 14, 2024
ed795c1
umash
akuzm Nov 15, 2024
d5cb87d
benchmark hash grouping with umash abbreviated keys (2024-11-15 no. 9)
akuzm Nov 15, 2024
40824ef
fix compilation w/o crc
akuzm Nov 15, 2024
47d384c
shorter abbreviated umash key
akuzm Nov 15, 2024
0c19ff7
don't use bitwise operations on bool
akuzm Nov 16, 2024
010d543
incremental umash digest -- throughput much lower
akuzm Nov 16, 2024
3da89a0
revert incremental umash digest
akuzm Nov 16, 2024
dc2ec93
inline array construction
akuzm Nov 16, 2024
8c95744
stuff
akuzm Nov 16, 2024
5279896
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 18, 2024
05ef083
move the code around
akuzm Nov 18, 2024
c9d63ab
destroy_key is a noop for all strategies anyway
akuzm Nov 18, 2024
96b12f3
move more code around
akuzm Nov 18, 2024
d7b331c
it is very important to keep moving the code around
akuzm Nov 18, 2024
7b191cc
add more files
akuzm Nov 18, 2024
c2b5e18
cleanup
akuzm Nov 18, 2024
dcaefee
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 18, 2024
d420e8b
continue moving the code around
akuzm Nov 18, 2024
478c490
new day, new code moved around
akuzm Nov 19, 2024
9e51c19
Vectorize aggregate FILTER clause
akuzm Nov 19, 2024
b43be70
Optimize array creation in vectorized aggregate functions
akuzm Nov 19, 2024
3f8a872
Put vectorized aggregation results in short-lived memory context
akuzm Nov 19, 2024
3070e6a
add a test
akuzm Nov 19, 2024
a1c333d
everything is so broken
akuzm Nov 19, 2024
89e53c9
check the decompression memory usage as well
akuzm Nov 19, 2024
20b37b0
add the ref
akuzm Nov 19, 2024
e0f9dbd
fix for i386
akuzm Nov 19, 2024
e27444e
Merge remote-tracking branch 'akuzm/partial-context' into HEAD
akuzm Nov 19, 2024
1e582e3
Merge remote-tracking branch 'akuzm/array-state' into HEAD
akuzm Nov 19, 2024
7151ecc
experiments with alignment in serialized strategy
akuzm Nov 19, 2024
89e582e
Revert "experiments with alignment in serialized strategy"
akuzm Nov 19, 2024
a3b8613
new bad filtering of all-matching or no-matching bitmap words
akuzm Nov 21, 2024
074195e
bitmap at the beginning in the serialized policy
akuzm Nov 21, 2024
5892267
return the old no-match bitmap skipping
akuzm Nov 21, 2024
61afdb8
cleanup
akuzm Nov 21, 2024
eca6406
caching of validity bitmap in bools (no effect)
akuzm Nov 21, 2024
a890d61
Revert "caching of validity bitmap in bools (no effect)"
akuzm Nov 21, 2024
aadd86b
allow small overflow in serialized key -- dubious?
akuzm Nov 21, 2024
3e6e728
Revert "allow small overflow in serialized key -- dubious?"
akuzm Nov 26, 2024
480d0fe
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 26, 2024
d8b0d73
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Nov 26, 2024
5243d25
Merge remote-tracking branch 'akuzm/vector-filter' into HEAD
akuzm Nov 26, 2024
9b0ee38
cleanups after merge
akuzm Nov 28, 2024
effa7eb
cleanup
akuzm Dec 2, 2024
533be01
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Dec 2, 2024
8e6c6d2
changelog
akuzm Dec 2, 2024
b717f74
constify stable expressions
akuzm Dec 2, 2024
56df16a
Merge remote-tracking branch 'akuzm/vector-filter' into HEAD
akuzm Dec 2, 2024
df7007f
cleanup
akuzm Dec 3, 2024
4511233
hash table key not updated when storing a new key
akuzm Dec 3, 2024
afd5838
comments
akuzm Dec 3, 2024
c0f6d67
remove extra hashes
akuzm Dec 3, 2024
c14a0f7
cleanup
akuzm Dec 3, 2024
4df06d9
Merge commit '155ca6f7ef2925735c7063cd9178edd185c17009' into HEAD
akuzm Dec 3, 2024
47bcaa9
updates
akuzm Dec 3, 2024
b6cee02
remove extras
akuzm Dec 3, 2024
ecb1aec
ref
akuzm Dec 3, 2024
f64676f
fixes
akuzm Dec 3, 2024
fab11fb
benchmark single fixed-column hash grouping (2024-12-03 no. 11)
akuzm Dec 3, 2024
dff6dff
cleanup
akuzm Dec 3, 2024
831cadd
planning fixes for pg 17
akuzm Dec 4, 2024
66403f2
benchmark fixed-size hash grouping (2024-12-04 no. 152)
akuzm Dec 4, 2024
99e5b04
remove some (yet) unused code
akuzm Dec 4, 2024
de22a22
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Dec 16, 2024
9fccab9
ref
akuzm Dec 16, 2024
8e97c2f
Merge remote-tracking branch 'akuzm/vector-filter' into HEAD
akuzm Dec 16, 2024
f5b648a
add test
akuzm Dec 16, 2024
ecd9cb2
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Dec 16, 2024
dc6001d
typo
akuzm Dec 16, 2024
d25aabd
Merge remote-tracking branch 'akuzm/vector-filter' into HEAD
akuzm Dec 16, 2024
abe6928
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Dec 16, 2024
013d66e
Merge remote-tracking branch 'akuzm/hash-simple' into HEAD
akuzm Dec 16, 2024
0ea397a
disable parallel
akuzm Dec 16, 2024
ea4dab1
add order
akuzm Dec 16, 2024
4b98e46
Update tsl/src/nodes/vector_agg/grouping_policy_hash.h
akuzm Dec 18, 2024
b615dbe
Update tsl/src/nodes/vector_agg/grouping_policy_hash.h
akuzm Dec 18, 2024
045f59a
determine the grouping type at plan time
akuzm Dec 18, 2024
10e66ad
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Dec 18, 2024
40ec867
Merge remote-tracking branch 'akuzm/hash-simple' into HEAD
akuzm Dec 18, 2024
df100f2
cleanup
akuzm Jan 2, 2025
2bcef48
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Jan 2, 2025
0e9df30
Merge remote-tracking branch 'akuzm/hash-simple' into tmp
akuzm Jan 2, 2025
78c192c
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Jan 6, 2025
5569cfb
fix after merge
akuzm Jan 6, 2025
3379669
cmake flags for umash support
akuzm Jan 10, 2025
8e8d2c0
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Jan 10, 2025
a4505c9
disable on 32-bit
akuzm Jan 10, 2025
2a1678e
Fix test sfter merge
akuzm Jan 10, 2025
9390673
Vectorized hash grouping by a single text column
akuzm Jan 10, 2025
a68572f
forgotten files
akuzm Jan 10, 2025
4aeecac
cleanup
akuzm Jan 10, 2025
979e59b
cleanup
akuzm Jan 10, 2025
3311861
bytes view
akuzm Jan 10, 2025
ef106b7
fix the test
akuzm Jan 10, 2025
89fd4ad
disable clang-tidy for imported code
akuzm Jan 10, 2025
192ec2c
try to detect i386 differently
akuzm Jan 10, 2025
37b4cca
fix cmake
akuzm Jan 10, 2025
16d4908
clang-tidy
akuzm Jan 10, 2025
e4b79ef
fix?
akuzm Jan 22, 2025
5b08c99
cmake
akuzm Jan 22, 2025
c4fc939
changelog
akuzm Jan 22, 2025
8cf8c69
license cleanup
akuzm Jan 22, 2025
8d45d71
disable on windows
akuzm Jan 22, 2025
2bac2c4
Merge branch 'main' into hash-text
akuzm Jan 23, 2025
dc188e6
fix
akuzm Jan 23, 2025
b63c057
fix
akuzm Jan 23, 2025
17d4124
fixes
akuzm Jan 23, 2025
cfbf9d4
more fixes
akuzm Jan 23, 2025
7cd0424
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Jan 24, 2025
dddd0ce
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Jan 29, 2025
1919e38
add a test for groupagg mode with nulls
akuzm Jan 29, 2025
1529ed9
format
akuzm Jan 29, 2025
481f5d5
Merge remote-tracking branch 'akuzm/hash-text' into HEAD
akuzm Jan 29, 2025
c7efeb0
ignore the test
akuzm Jan 29, 2025
d0e2431
yaml
akuzm Jan 29, 2025
621500d
comment
akuzm Feb 3, 2025
04e2776
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Feb 3, 2025
18f51f5
fix after merge
akuzm Feb 3, 2025
09d1036
Update tsl/src/nodes/vector_agg/hashing/hash_strategy_single_text.c
akuzm Feb 4, 2025
679c56d
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Feb 4, 2025
222d749
Merge remote-tracking branch 'akuzm/hash-text' into HEAD
akuzm Feb 4, 2025
8243f8a
some fixes after merge -- tmp
akuzm Feb 4, 2025
880e7f1
more fixes
akuzm Feb 4, 2025
7c03e46
alignment not used as of now
akuzm Feb 4, 2025
1f77422
more tests for dictionary encoding
akuzm Feb 10, 2025
a55cfc7
add more tests
akuzm Feb 10, 2025
9e0b5ca
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Feb 10, 2025
31b3b27
oops it doesn't work with the reverse order
akuzm Feb 10, 2025
35cdd73
fixes for the reverse order
akuzm Feb 11, 2025
326a452
debug
akuzm Feb 11, 2025
5f2fdb2
cleanups
akuzm Feb 11, 2025
28678d8
integrate the changes from the bug fix
akuzm Feb 11, 2025
20ff501
Merge commit '6ce2fc0df492892e915003b30239f5ab25a2e49e~' into HEAD
akuzm Feb 12, 2025
73faf1e
prepare to merge
akuzm Feb 12, 2025
c929560
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Feb 12, 2025
22f1211
fix
akuzm Feb 12, 2025
0e905c1
fix
akuzm Feb 12, 2025
7179faa
fix
akuzm Feb 12, 2025
e6f672a
Merge origin/main into tmp (using imerge)
akuzm Feb 12, 2025
b97e236
Merge akuzm/hash-text into tmp (using imerge)
akuzm Feb 12, 2025
5ffe956
Merge commit 'b85fee5f5' into HEAD
akuzm Feb 19, 2025
26b3bcb
Merge commit 'eea28951e' into HEAD
akuzm Feb 19, 2025
7a23931
Merge remote-tracking branch 'origin/main' into HEAD
akuzm Feb 19, 2025
9dd6325
Vectorized grouping by multiple column
akuzm Feb 19, 2025
a25fc51
tam tests
akuzm Feb 19, 2025
18f2586
clang-tidy
akuzm Feb 19, 2025
0db5a43
Merge commit '9dd63259287769a869bd421a8253e60433206f03' into HEAD
akuzm Feb 19, 2025
832a080
Merge remote-tracking branch 'akuzm/hash-serialized' into HEAD
akuzm Feb 19, 2025
1638c62
changelog
akuzm Feb 19, 2025
e725591
tests
akuzm Feb 20, 2025
bf33d24
move more things relevant for hashing to the hashing strategy
akuzm Feb 20, 2025
b5646dc
Merge akuzm/hash-serialized into tmp (using imerge)
akuzm Feb 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
roll back the delta delta stuff
akuzm committed Oct 14, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 00408446976ead1f74c2239863cf676e3d8f1cf2
75 changes: 4 additions & 71 deletions tsl/src/compression/algorithms/deltadelta_impl.c
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
#define FUNCTION_NAME_HELPER(X, Y) X##_##Y
#define FUNCTION_NAME(X, Y) FUNCTION_NAME_HELPER(X, Y)

static pg_noinline ArrowArray *
static ArrowArray *
FUNCTION_NAME(delta_delta_decompress_all, ELEMENT_TYPE)(Datum compressed, MemoryContext dest_mctx)
{
StringInfoData si = { .data = DatumGetPointer(compressed), .len = VARSIZE(compressed) };
@@ -78,79 +78,12 @@ FUNCTION_NAME(delta_delta_decompress_all, ELEMENT_TYPE)(Datum compressed, Memory
Assert(n_notnull_padded % INNER_LOOP_SIZE == 0);
for (uint32 outer = 0; outer < n_notnull_padded; outer += INNER_LOOP_SIZE)
{
ELEMENT_TYPE x[INNER_LOOP_SIZE];
for (uint32 inner = 0; inner < INNER_LOOP_SIZE; inner++)
{
x[inner] = zig_zag_decode(deltas_zigzag[outer + inner]);
current_delta += zig_zag_decode(deltas_zigzag[outer + inner]);
current_element += current_delta;
decompressed_values[outer + inner] = current_element;
}

x[0] += current_delta;

/* Now deltas of deltas, will make first-order deltas by prefix summation. */
for (int l = 0; l < INNER_LOOP_SIZE_LOG2; l++)
{
for (int i = INNER_LOOP_SIZE - 1; i >= (1 << l); i--)
{
x[i] = x[i] + x[i - (1 << l)];
}
// ELEMENT_TYPE xx[INNER_LOOP_SIZE];
// for (int i = 0; i < INNER_LOOP_SIZE; i++)
// {
// xx[i] = (i >= (1 << l)) ? x[i - (1 << l)] : 0;
// }
// for (int i = 0; i < INNER_LOOP_SIZE; i++)
// {
// x[i] += xx[i];
// }
}

// const uint64 new_delta = current_delta + x[INNER_LOOP_SIZE - 1];
const ELEMENT_TYPE new_delta = x[INNER_LOOP_SIZE - 1];

x[0] += current_element;

/* Now first-order deltas, will make element values by prefix summation. */
for (int l = 0; l < INNER_LOOP_SIZE_LOG2; l++)
{
for (int i = INNER_LOOP_SIZE - 1; i >= (1 << l); i--)
{
x[i] = x[i] + x[i - (1 << l)];
}

// for (int i = INNER_LOOP_SIZE - 1; i >= 0; i--)
// {
// x[i] = x[i] + ((i >= (1 << l)) ? x[i - (1 << l)] : 0);
// }

// ELEMENT_TYPE xx[INNER_LOOP_SIZE];
// for (int i = 0; i < INNER_LOOP_SIZE; i++)
// {
// xx[i] = (i >= (1 << l)) ? x[i - (1 << l)] : 0;
// }
// for (int i = 0; i < INNER_LOOP_SIZE; i++)
// {
// x[i] += xx[i];
// }
}

/* Now element values. */
// uint64 xx[INNER_LOOP_SIZE];
// for (uint32 inner = 0; inner < INNER_LOOP_SIZE; inner++)
// {
// xx[inner] = current_element + (1 + inner) * current_delta;
// }
// for (uint32 inner = 0; inner < INNER_LOOP_SIZE; inner++)
// {
// x[inner] += xx[inner];
// }

for (uint32 inner = 0; inner < INNER_LOOP_SIZE; inner++)
{
decompressed_values[outer + inner] = x[inner];
}

current_element = x[INNER_LOOP_SIZE - 1];
current_delta = new_delta;
}
#undef INNER_LOOP_SIZE_LOG2
#undef INNER_LOOP_SIZE
Loading