@@ -107,6 +107,8 @@ PYBIND11_PLUGIN(pyfastpfor) {
107
107
108
108
m.def (" delta1" , [](py::array_t <uint32_t , py::array::c_style> input, size_t inputSize) -> void {
109
109
uint32_t * buff = input.mutable_data ();
110
+ py::gil_scoped_release l;
111
+
110
112
Delta::fastDelta (buff, inputSize);
111
113
}, py::arg (" input" ), py::arg (" inputSize" ),
112
114
" In-place computation of differences between adjacent numbers.\n\n "
@@ -124,6 +126,8 @@ PYBIND11_PLUGIN(pyfastpfor) {
124
126
m.def (" delta4" ,
125
127
[](py::array_t <uint32_t , py::array::c_style> input, size_t inputSize) -> void {
126
128
uint32_t * buff = input.mutable_data ();
129
+ py::gil_scoped_release l;
130
+
127
131
Delta::deltaSIMD (buff, inputSize);
128
132
}, py::arg (" input" ), py::arg (" inputSize" ),
129
133
" In-place computation of differences between numbers that are 4 indices apart.\n "
@@ -142,6 +146,8 @@ PYBIND11_PLUGIN(pyfastpfor) {
142
146
143
147
m.def (" prefixSum1" , [](py::array_t <uint32_t , py::array::c_style> input, size_t inputSize) -> void {
144
148
uint32_t * buff = input.mutable_data ();
149
+ py::gil_scoped_release l;
150
+
145
151
Delta::fastinverseDelta2 (buff, inputSize);
146
152
}, py::arg (" input" ), py::arg (" inputSize" ),
147
153
" In-place inversion of delta1.\n\n "
@@ -159,6 +165,8 @@ PYBIND11_PLUGIN(pyfastpfor) {
159
165
m.def (" prefixSum4" ,
160
166
[](py::array_t <uint32_t , py::array::c_style> input, size_t inputSize) -> void {
161
167
uint32_t * buff = input.mutable_data ();
168
+ py::gil_scoped_release l;
169
+
162
170
Delta::inverseDeltaSIMD (buff, inputSize);
163
171
}, py::arg (" input" ), py::arg (" inputSize" ),
164
172
" In-place computation inversion of delta4.\n "
0 commit comments