-
Notifications
You must be signed in to change notification settings - Fork 83
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
request/question Multithreading support for blitz++ #110
Comments
I think there is some multi-threading support in blitz, but this predates largely TBB or OpenMP times (I remember that the framework is named tau something). I have not seen any #pragma in current (well a few months back) blitz code, so do not expect openmp to work. |
The reference-countic logic in Blitz can be made thread-safe with a relevant preprocessor define (see docs). This triggers locking of increment/decrement operations on ref counts and of course affects performance (hence disabled by default). No multi-threaded operations are included. HTH
On Tue, Apr 9, 2019 at 3:23 PM +0200, "ClmnsRck" <notifications@github.com<mailto:notifications@github.com>> wrote:
Is Multithreading support built into Blitz++? Like TBB oder OpenMP? i have tried compiling blitz++ code with -ltbb -fopenmp(becuase of other code in there to), but it did nothing to the performance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#110>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAFeVfzyopfJWpOWYHr3Y3flgh_jjZ1uks5vfJRXgaJpZM4ckfZL>.
|
tau is a profiling tool: http://www.cs.uoregon.edu/research/tau/home.php
here is the page on using tau to profile blitz: https://www.cs.uoregon.edu/research/paracomp/tau/tautools/users/blitz/settings.html
On Tue, Apr 9, 2019 at 4:05 PM +0200, "Theodore Papadopoulo" <notifications@github.com<mailto:notifications@github.com>> wrote:
I think there is some multi-threading support in blitz, but this predates largely TBB or OpenMP times (I remember that the framework is named tau something). I have not seen any #pragma in current (well a few months back) blitz code, so do not expect openmp to work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#110 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAFeVbbYk6HXcakVdM_wFKi-Srj1mtxdks5vfJ4RgaJpZM4ckfZL>.
|
Depends on your understanding of "Multithreading support". The data structures itself are thread safe, so they can be used in multithreaded applications, e.g. openMP. The implemented algorithms however are not parallelized, e.g. If you calculate the sin() of each element in an array, this is executed as one loop on a single core. You can however distribute multiple calculation over different arrays on different cores via a parallelization framework like OpenMP. If you need the former, use some dedicated library for that (BLAS, LAPACK, ...), which you need probably anyway as Bliz++ implements the basic algorithms only. |
Is Multithreading support built into Blitz++? Like TBB oder OpenMP? i have tried compiling blitz++ code with
-ltbb -fopenmp
(becuase of other code in there to), but it did nothing to the performance.The text was updated successfully, but these errors were encountered: