<div dir="ltr">Hi Andrey,<div><br></div><div>this is strange because when I compile with "clang-3.5 -fopenmp" the executable that is produced is parallel. I am sure of this because I'm able to see the threads and also because I can see the symbols used by the IOMP runtime in the binary.</div><div><br></div><div>$ clang -O3 -g -fopenmp toy13.cpp -o toy13 -lm<br></div><div><br></div><div><div>$ nm toy13 | grep kmpc</div><div>U __kmpc_cancel_barrier@@VERSION</div><div>U __kmpc_end_single@@VERSION</div><div>U __kmpc_fork_call@@VERSION</div><div>U __kmpc_omp_task_alloc@@VERSION</div><div>U __kmpc_omp_task_with_deps@@VERSION</div><div>U __kmpc_single@@VERSION</div><div><br></div><div>$ ldd toy13 </div><div>linux-vdso.so.1 =>  (0x00007fff9805d000)</div><div>libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc00e3cc000)</div><div>libiomp5.so => /usr/lib/libiomp5.so (0x00007fc00e121000)</div><div>libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc00df03000)</div><div>libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc00db3e000)</div><div>libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc00d939000)</div><div>/lib64/ld-linux-x86-64.so.2 (0x00007fc00e6fc000)</div></div><div><br></div><div><br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><br><br>César.</div></div>
<br><div class="gmail_quote">On Tue, Aug 18, 2015 at 6:15 PM,  <span dir="ltr"><<a href="mailto:andreybokhanko@gmail.com" target="_blank">andreybokhanko@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>C<span style="background-color:rgba(255,255,255,0)">ésar,</span></div><div><br></div><div><span class=""><blockquote type="cite"><div dir="ltr"><div><font color="#000000"><span style="background-color:rgba(255,255,255,0)">- The version of Clang that I am using to compile the benchmarks: 3.5.0</span></font></div></div></blockquote><div><br></div></span>Clang 3.5 doesn't support OpenMP -- it simply ignores the pragmas.</div><div><br></div><div>Please use version from trunk or from 3_7 release branch. Also, please supply -fopenmp= libomp option.</div><div><br></div><div>Yours,</div><div>Andrey Bokhanko</div><div>=============</div><div>Software Engineer</div><div>Intel Compiler Team</div><div>Intel</div><div><br>Отправлено с iPad</div><div><br>18 авг. 2015 г., в 21:14, César via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org" target="_blank">openmp-dev@lists.llvm.org</a>> написал(а):<br><br></div><div><div class="h5"><blockquote type="cite"><div><div dir="ltr">Hello,<div><br></div><div>I don't know if this is the correct list to talk about this - I did not find a better place..<br></div><div><br></div><div>I am doing performance experiments with a few OpenMP implementations (IOMP, GOMP and our private impl.) and I am seeing a severe slowdown when I use IOMP (GOMP and others are performing well). </div><div><br></div><div>The benchmarks I am using are these ones: <a href="http://kastors.gforge.inria.fr/#!index.md" target="_blank">http://kastors.gforge.inria.fr/#!index.md</a><br clear="all"><div></div></div><div><br></div><div>Really, the slowdown is huge. For one of the programs (plasma/dpotrf_taskdep -n 8192 -b 64 -i 1 -c) the serial version executes in ~28s and the parallel one executes in ~110s. I did some profiling and found that most of the time is being spent on synchronization barriers and dependence tracking (see attached image). Before digging deeper I would like to hear back from you if I am doing something wrong here:</div><div><br></div><div>- I tested with the last version of the repository:  <a href="http://llvm.org/svn/llvm-project/openmp/trunk" target="_blank">http://llvm.org/svn/llvm-project/openmp/trunk</a></div><div><div><div>- I am using Ubuntu 14.10.</div><div>- I have tested on more than one machine, the results above are from a Intel i7-3770</div><div>- The runtime itself is compiled using: make compiler=gcc os_omp=linux arch=32e</div><div>- The version of GCC that I am using is: 4.9.1</div><div>- The version of Clang that I am using to compile the benchmarks: 3.5.0</div><div><br><br>César.</div></div>
</div></div>
</div></blockquote></div></div><blockquote type="cite"><div><pic1.png></div></blockquote><span class=""><blockquote type="cite"><div><pic2.png></div></blockquote><blockquote type="cite"><div><pic3.png></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Openmp-dev mailing list</span><br><span><a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a></span><br><span><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a></span><br></div></blockquote></span></div></blockquote></div><br></div></div>