<p dir="ltr">Hello,</p>
<p dir="ltr">On Aug 20, 2015 5:44 AM, "Churbanov, Andrey" <<a href="mailto:Andrey.Churbanov@intel.com">Andrey.Churbanov@intel.com</a>> wrote:<br>
><br>
> Actually the performance problem is separate from<br>
><br>
> supported version or linker errors or compiler used.<br>
><br>
>  </p>
<p dir="ltr">That was my first thought.</p>
<p dir="ltr">><br>
> So we apparently need to investigate the problem<br>
><br>
> in the OpenMP runtime. We will work on this.<br>
></p>
<p dir="ltr"> I will also spend some time investigating the problem in the runtime. </p>
<p dir="ltr">Thank you,</p>
<p dir="ltr">><br>
> Thanks,<br>
><br>
> Andrey<br>
><br>
>  <br>
><br>
> From: Openmp-dev [mailto:<a href="mailto:openmp-dev-bounces@lists.llvm.org">openmp-dev-bounces@lists.llvm.org</a>] On Behalf Of Bataev, Alexey via Openmp-dev<br>
> Sent: Thursday, August 20, 2015 6:08 AM<br>
> To: Finkel, Hal J.<br>
><br>
> Cc: <a href="mailto:openmp-dev@lists.llvm.org">openmp-dev@lists.llvm.org</a><br>
> Subject: Re: [Openmp-dev] Performance slowdown<br>
><br>
>  <br>
><br>
> Yes, but still this version is not optimal. Clang trunk will produce a little bit faster code.<br>
><br>
> Best regards,<br>
><br>
> Alexey Bataev<br>
><br>
> =============<br>
><br>
> Software Engineer<br>
><br>
> Intel Compiler Team<br>
><br>
> 19.08.2015 23:39, Finkel, Hal J. via Openmp-dev пишет:<br>
>><br>
>>  <br>
>><br>
>> Sent from my Verizon Wireless 4G LTE DROID<br>
>><br>
>> On Aug 19, 2015 1:36 PM, César via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org">openmp-dev@lists.llvm.org</a>> wrote:<br>
>><br>
>> > <br>
>><br>
>> > On Wed, Aug 19, 2015 at 3:07 PM, Jack Howarth <<a href="mailto:howarth.mailing.lists@gmail.com">howarth.mailing.lists@gmail.com</a>> wrote:<br>
>><br>
>> >> <br>
>><br>
>> >> On Tue, Aug 18, 2015 at 2:14 PM, César via Openmp-dev<br>
>><br>
>> >> <<a href="mailto:openmp-dev@lists.llvm.org">openmp-dev@lists.llvm.org</a>> wrote:<br>
>><br>
>> >> > Hello,<br>
>><br>
>> >> ><br>
>><br>
>> >> > I don't know if this is the correct list to talk about this - I did not find<br>
>><br>
>> >> > a better place..<br>
>><br>
>> >> ><br>
>><br>
>> >> > I am doing performance experiments with a few OpenMP implementations (IOMP,<br>
>><br>
>> >> > GOMP and our private impl.) and I am seeing a severe slowdown when I use<br>
>><br>
>> >> > IOMP (GOMP and others are performing well).<br>
>><br>
>> >> ><br>
>><br>
>> >> > The benchmarks I am using are these ones:<br>
>><br>
>> >> > <a href="http://kastors.gforge.inria.fr/#!index.md">http://kastors.gforge.inria.fr/#!index.md</a><br>
>><br>
>> >> <br>
>><br>
>> >> That web page claims the benchmarks use parts of the OpenMP 4.0 specification.<br>
>><br>
>> >> <br>
>><br>
>> >> "The KaStORS benchmark suite has been designed to evaluate the implementation of<br>
>><br>
>> >> the OpenMP dependent task paradigm, introduced as part of the OpenMP 4.0<br>
>><br>
>> >> specification."<br>
>><br>
>> >> <br>
>><br>
>> >> Currently openmp is only complete for the OpenMP 3.2 specification<br>
>><br>
>> >> <br>
>><br>
>> > <br>
>><br>
>> > I am able to compile a few benchmarks that use task dependence annotations (from OMP 4.0) but for those that specify the range of the memory dependence I get syntax error. So, should I assume that this part is not implemented, right? Is there a list for the OMP 4.0 items that are currently supported?<br>
>><br>
>> > <br>
>><br>
>> > BTW, the Clang version from Github was able to parse these annotations, was it dropped from the current newer version?<br>
>><br>
>> > <br>
>><br>
>>  <br>
>><br>
>> It is not there yet. You'll need to use the code from the github clang_trunk (and llvm_trunk, etc.) repositories to get both recent Clang/LLVM and all of the OpenMP features.<br>
>><br>
>>  <br>
>><br>
>> -Hal<br>
>><br>
>>  <br>
>><br>
>> >  <br>
>><br>
>> >> <br>
>><br>
>> >> ><br>
>><br>
>> >> > Really, the slowdown is huge. For one of the programs (plasma/dpotrf_taskdep<br>
>><br>
>> >> > -n 8192 -b 64 -i 1 -c) the serial version executes in ~28s and the parallel<br>
>><br>
>> >> > one executes in ~110s. I did some profiling and found that most of the time<br>
>><br>
>> >> > is being spent on synchronization barriers and dependence tracking (see<br>
>><br>
>> >> > attached image). Before digging deeper I would like to hear back from you if<br>
>><br>
>> >> > I am doing something wrong here:<br>
>><br>
>> >> ><br>
>><br>
>> >> > - I tested with the last version of the repository:<br>
>><br>
>> >> > <a href="http://llvm.org/svn/llvm-project/openmp/trunk">http://llvm.org/svn/llvm-project/openmp/trunk</a><br>
>><br>
>> >> > - I am using Ubuntu 14.10.<br>
>><br>
>> >> > - I have tested on more than one machine, the results above are from a Intel<br>
>><br>
>> >> > i7-3770<br>
>><br>
>> >> > - The runtime itself is compiled using: make compiler=gcc os_omp=linux<br>
>><br>
>> >> > arch=32e<br>
>><br>
>> >> > - The version of GCC that I am using is: 4.9.1<br>
>><br>
>> >> > - The version of Clang that I am using to compile the benchmarks: 3.5.0<br>
>><br>
>> >> ><br>
>><br>
>> >> ><br>
>><br>
>> >> > César.<br>
>><br>
>> >> ><br>
>><br>
>> >> > _______________________________________________<br>
>><br>
>> >> > Openmp-dev mailing list<br>
>><br>
>> >> > <a href="mailto:Openmp-dev@lists.llvm.org">Openmp-dev@lists.llvm.org</a><br>
>><br>
>> >> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a><br>
>><br>
>> >> ><br>
>><br>
>> > <br>
>><br>
>> > <br>
>><br>
>>  <br>
>><br>
>>  <br>
>><br>
>> Sent from my Verizon Wireless 4G LTE DROID<br>
>><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>><br>
>> Openmp-dev mailing list<br>
>><br>
>> <a href="mailto:Openmp-dev@lists.llvm.org">Openmp-dev@lists.llvm.org</a><br>
>><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a><br>
><br>
>  <br>
><br>
><br>
> --------------------------------------------------------------------<br>
> Closed Joint Stock Company Intel A/O<br>
> Registered legal address: Krylatsky Hills Business Park, <br>
> 17 Krylatskaya Str., Bldg 4, Moscow 121614, <br>
> Russian Federation<br>
><br>
> This e-mail and any attachments may contain confidential material for<br>
> the sole use of the intended recipient(s). Any review or distribution<br>
> by others is strictly prohibited. If you are not the intended<br>
> recipient, please contact the sender and delete all copies.</p>