Integrating KFAST - 60% faster than any other known FAST
Could I integrate this version of FAST into OpenMVG? I noticed that there isn't a solid version of FAST integrated yet, and I'd love to take the lead on integrating this into the main tree of OpenMVG.
KFAST was developed by @komrad36 using AVX2.
Hi, Thank you @mdaiter & @komrad36 for the PR.
- We must take care that it will not be in conflict with the WIP there https://github.com/openMVG/openMVG/tree/develop_VO/src/third_party/fast
- Regarding the integration, can you provide the required compilation flag?
- AVX2 & SSE4...
- The integration must be clean, I mean that we must check in cmake if we can use the Kfast or the fast lib and use the appropriate one.
Hey @pmoulon , Thanks for the review.
- The branch seems to pass all checks through the compilation phase. However, we can change this back to the original project name KFAST if you'd like, to ensure avoiding any future conflicts.
- All compilation flags required are included in the bundled CMakeLists.txt file that comes with the project. AVX2 and SSE4 are already included in the compilation flags.
- Do you mean that the appropriate library, depending on the capabilities of the processor, is compiled and included in the project? Thanks again.
What I mean is that in the final version we must include a similar interface for FAST & KFAST. In order to compile FAST or KFAST iff supported by the architecture & compiler. So yes, I perfer the way 3=> appropriate library is chosen depending of the capabilities of the processor (at compilation time)
@mdaiter I have merged the WIP develop_VO branch in the develop trunk. So you will have a good base to work on integrating kfast and switch between fast or kfast if AVX2 is supported by the computer or not.