I would like to contribute to OpenCV making a parallel version (using OpenMP) of SURF.
Yes, yes, I know, SURF in OpenCV is already "parallel" and it uses Intel TBB, but come on it scales horribly, I'm sure some improvement can be done for sure ;)
I want to use Intel Parallel Studio tools (e.g. VTune Amplifier, Intel Advisor and Intel Inspector) for making this process not a nightmare and make the paralelization easier. However, for some of them (Intel Advisor for sure) we need to include some libraries in the src code (e.g. #include <advisor-annotate.h>
) and of course editing the makefile. For example, this is the compile command for one of the Intel Advisor samples using in the tutorial:
g++ -m64 nqueens_serial.cpp -o 1_nqueens_serial -O2 -g -I /opt/intel/advisor_2017.1.1.486553/include/ -ldl
Now there is my question (and I'm afraid that the answer will be painful): OpenCV uses CMAKE and I never developed something using it (only used it for building) and I have no idea how could I integrate some Intel includes and flags necessary for this kind of profiling/improvements in the CMAKE files or if this is even possible.
Someone can help me or give me some guidelines?