[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-27 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #10 from Jeff Hammond --- Thanks for the feedback. I agree that it is a huge amount of work to optimize this. For what it's worth, GCC and Clang perform about the same. Unfortunately, I do not have the means to evaluate IBM XLF,

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-27 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #9 from Jakub Jelinek --- With schedule(static) or schedule(dynamic) etc. I believe the compiler is not allowed to do it, at least if it can't prove it won't be observable. So, if you have int cnt = 0; #pragma omp parallel for

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-27 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #8 from Jeff Hammond --- I tried with schedule(dynamic) and schedule(static,n) for n=1,8,100. None of this made a positive difference. Is that expected? I'm happy to make any code changes that don't break correctness and are still

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-27 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #7 from Jakub Jelinek --- GCC implements what is required if there is schedule(static), which is the implementation defined schedule right now, which gives the requirement how the iterations are distributed to different threads and I

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #6 from Jeff Hammond --- Created attachment 41566 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41566=edit tasks C++

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #5 from Jeff Hammond --- Created attachment 41565 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41565=edit header for C++ codes

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #4 from Jeff Hammond --- Created attachment 41564 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41564=edit doacross C++

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #3 from Jeff Hammond --- Created attachment 41563 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41563=edit sequential C++

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #2 from Jeff Hammond --- Created attachment 41562 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41562=edit tasks Fortran This code runs faster than serial (assuming blocking is used), showing that this pattern can be

[Bug libgomp/81108] OpenMP doacross (omp do/for ordered) performance

2017-06-15 Thread jeff.science at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81108 --- Comment #1 from Jeff Hammond --- Created attachment 41561 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41561=edit doacross Fortran