This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thu, 23 Apr 2015, Tim Prince wrote:
On 4/23/2015 10:25 AM, Marc Glisse wrote:On Thu, 23 Apr 2015, Tim Prince wrote:From the looks of gcc 6.0, it appears that gnu_parallel STL is slated to become part of the release.Could you be more specific about what you are talking about and where you got your information?I set -D_GLIBCXX_PARALLEL in previous versions but nothing happened.
According to https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode_using.html something like "-fopenmp -O2 -D_GLIBCXX_PARALLEL" should work. And indeed the generated code is quite different than without -D_GLIBCXX_PARALLEL. I did not test performance.
Now in 6.0 it goes parallel, but with poor performance.
What other version are you comparing to? I would be very surprised if anything had changed between 5.1.0 and current trunk (6.0).
Parallel mode has been a part of libstdc++ for several years: https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.htmlAm I right in believing that gnu_parallel STL code is not simd vectorized?It is not manually vectorized, but the compiler is free to do it if it can.Does this require setting -march and/or -ftree-vectorize options for libstdc++ build? What would be the recommended incantation?
No, the compiled part of the library should not matter, it is only when compiling your application that you should use -O3 -march=native to maximize vectorization opportunities.
-- Marc Glisse
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |