-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: parallel version of multi_pointoperators.hxx #201
base: parallelization
Are you sure you want to change the base?
Conversation
Update from Parallelization@Vigra
Added parallel version of multi_pointoperators.hxx
…er. Decreased dimension lenght
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, |
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. |
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