The image algorithms in vcl/source/gdi/bitmap3.cxx are perfect examples for algorithms that benefit from parallel execution. The task is to go through each function identify the parallel sections and check that the memory access allows parallel execution (no overlapping read/write in the same memory, no overlapping writes in the same memory, ...) and use OpenMP to make the code use more cores in modern processors. This also requires some makefile changes to support compiling files with OpenMP enabled.
Making it an Easy Hack.
I guess it should be pointed out that the use of OpenMP should be optional, or is that obvious?
(In reply to comment #2) > I guess it should be pointed out that the use of OpenMP should be optional, > or is that obvious? OpenMP is supported by all our compilers but in general that is not a big problem as OpenMP contains just some compiler directives that are ignored by compilers that don't understand them.
It is not supported in Clang for iOS, as far as I know.
And actually I think Clang doesn't support OpenMP when compiling for OS X either (if at all). But yeah, it shouldn't be hard to check.
According to http://openmp.llvm.org/ it seems to be supported nowadays but in the end as it is not code it does not matter too much. If a compiler does not support OpenMP it will just ignore the directives and not generate parallel code and fall back to the sequential version.
That is some branch of Clang you have to build yourself, not the Clang in the Xcode product from Apple.
Migrating Whiteboard tags to Keywords: (EasyHack DifficultyInteresting SkillCpp TopicCleanup) [NinjaEdit]
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC) [NinjaEdit]
Most likely a bad idea.