Parallel processing_v0.3 - FoxelSA/libgnomonic GitHub Wiki
Overview
All the implemented algorithms of the library have a parallelized implementation using OpenMP. In facts, the standard algorithms implementation are mono-threaded front-ends to the parallelized algorithm in which the actual code is written. The parallelized algorithms have simply an extra integer parameter that specify the desired number of threads to use.
Case study
As case study, we consider here a 18 megapixel equirectangular mapping on which a rotation is applied. The rotation algorithm is executed with an order six (bipentic) interpolation method as parameter. The case study is performed on a small form factor computer : Intel i7-4500U at 1.80GHz with two physical cores and four threads. The considered computer offers 16GB of memory. The following figure shows the results of execution times according to the number of asked threads :
One can see that using four threads, taking advantage of hyper-threading technology, the execution time is reduced by more than twice according to mono-threaded measure.