Boost logo

Boost :

From: prathamesh tagore (prathameshtagore_at_[hidden])
Date: 2021-06-14 17:30:42

General ways of convolution optimization include
1. Improving memory access patterns
2. Vectorizing arithmetic operations
3. Parallelizing window operations
I am currently working on improving existing versions as mentioned here( using the first point.
Note :
i) Parallelization would require the use of some external libraries.
ii) Vectorization would require use of simd intrinsics which would make our
code platform/architecture dependent.

@lpranam @mloskot @Olzhas, please share your opinion on last two points and
their feasibility in Gil so that I can create a clearer picture of my work
in coming weeks.

On Wed, Jun 2, 2021 at 9:49 PM Olzhas Zhumabek <
anonymous.from.applecity_at_[hidden]> wrote:

> This thread will probably pretty long and follow our findings and direction
> on how will improve the
> performance of 2D convolution in GIL.
> During my meeting with Prathamesh, we discussed the nature of the 2D
> convolution in OpenCV.
> At the moment it uses some switches which allows it to change between SIMD
> instructions,
> high performance libraries and just a plain implementation with prefetch.
> We decided to go the
> simplest route for the first version, while continuously benchmarking past
> implementations.
> Here is the initial plan:
> - Prathamesh will send a flowchart for the basic implementation
> - I will sketch some benchmarking code with the cmake switches for OpenCV,
> so that we could pit
> our versions against OpenCV (ETA until Monday next week)
> - Prathamesh will complete the benchmarking code with comparisons (ETA
> sometime next week)
> - After discussing the flowchart, the implementation of the new version
> will begin (next week too, probably)
> Please share your ideas and suggestions.
> Best,
> Olzhas
> --
> Boost-gil mailing list
> Boost-gil_at_[hidden]

Boost list run by Boost-Gil-Owners