WIP: parallel version of multi_pointoperators.hxx
Hi,
-I modified the way we update the number of threads involve in the paralel region. Currently, all threads update the variable num_threads. I think one thread updates this variable should be enough.
-I made the parallel version of multi_pointoperators.hxx. The test file is located in test/openmp_multi_pointoperators folder. The following functions was parallelized and partially tested: initMultiArray, copyMultiArray and transformMultiArray. The runtime performance gains with very highly dimensional array which has big dimension lenght.
Kind regards, Minh
Hi,
I added the parallel version of *MultiArrayData and *ScalarMultiArrayData functions (e.g. copyAddMultiArrayData) in multi_array.hxx file.
I used precondition macro #ifdef OPENMP to check whether OpenMP is enabled or not. Unfortunately, I could not use #ifdef macro inside a macro definition; so, I did the other way around. I embeded macro definition (e.g. lines 245- 280) inside #ifdef region.
Cheers, Minh
This PR cannot be used as is because we abandoned OpenMP in favor of std::thread. But it still contains lots of useful code, so I keep it open for now.