<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Sending this thread to OpenMP dev list to be sure it is not lost.<br>
    <div class="moz-forward-container"><br>
      <pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team</pre>
      <br>
      <br>
      -------- Перенаправленное сообщение --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Тема: </th>
            <td>Re: [Openmp-dev] OpenMP problems with clang 3.7.0</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Дата: </th>
            <td>Mon, 7 Sep 2015 09:07:54 +0200</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">От: </th>
            <td>Christof Söger <a class="moz-txt-link-rfc2396E" href="mailto:csoeger@uos.de"><csoeger@uos.de></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Кому: </th>
            <td>Bataev, Alexey <a class="moz-txt-link-rfc2396E" href="mailto:a.bataev@hotmail.com"><a.bataev@hotmail.com></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      Hi Alexey, <br>
      <br>
      thanks for your quick answer. For you it indeed looks okay. I will
      test it next week.<br>
      <br>
      Best,<br>
      Christof<br>
      <br>
      <div class="gmail_quote">Am 7. September 2015 07:52:35 MESZ,
        schrieb "Bataev, Alexey" <a class="moz-txt-link-rfc2396E" href="mailto:a.bataev@hotmail.com"><a.bataev@hotmail.com></a>:
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <pre class="k9mail">Another one addition - I used trunk 3.8, not 3.7 release. Could you 
check everything using clang/LLVM 3.8svn?

Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team

07.09.2015 8:51, Bataev, Alexey пишет:
<blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Hi Christof,
 Thank you for your report!
 I tried to reproduce your problem and here is what I get when I run 
 your example:
                                                     \.....|
                     Normaliz 2.99.4                  \....|
                                                       \...|
      (C) The Normaliz Team, University of Osnabrueck   \..|
                     September 2015                      \.|
                                                          \|

************************************************************
 Compute: HilbertSeries
 ************************************************************
 starting primal algorithm with full triangulation ...
 Roughness 1
 Generators sorted by degree and lexicographically
 Generators per degree:
 1: 40
 Start simplex 1 2 3 4 5 9 12 14 16 18 20 25 28 30 32 34 36
 gen=6, 18 hyp, 2 simpl
 gen=7, 21 hyp, 4 simpl
 gen=8, 28 hyp, 8 simpl
 gen=10, 28 hyp, 12 simpl
 gen=11, 28 hyp, 16 simpl
 gen=13, 32 hyp, 26 simpl
 gen=15, 46 hyp, 51 simpl
 gen=17, 62 hyp, 86 simpl
 gen=19, 77 hyp, 148 simpl
 gen=21, 85 hyp, 218 simpl
 gen=22, 95 hyp, 304 simpl
 gen=23, 108 hyp, 420 simpl
 gen=24, 198 hyp, 745 simpl
 gen=26, 205 hyp, 1039 simpl
 gen=27, 217 hyp, 1402 simpl
 gen=29, 290 hyp, 2280 simpl
 gen=31, 561 hyp, 4298 simpl
 gen=33, 846 hyp, 351 pyr, 4318 simpl
 gen!
 =35,
1147 hyp, 718 pyr, 4324 simpl
 gen=37, 1297 hyp, 1197 pyr, 4326 simpl
 gen=38, 1525 hyp, 1493 pyr, 4326 simpl
 gen=39, 1784 hyp, 1898 pyr, 4327 simpl
 gen=40, 3753 hyp, 2284 pyr, 4331 simpl
 Pointed since graded
 Select extreme rays via comparison ... done.
 **************************************************
 level 0 pyramids remaining: 2284
 **************************************************
 **************************************************
 all pyramids on level 0 done!
 **************************************************
 evaluating 61640 simplices
 ||||||||||||||||||||||||||||||||||||||||||||||||||
 61640 simplices accumulated.
 Adding 1 denominator classes... done.
 Total number of pyramids = 2317, among them simplicial 33
<hr>
 transforming data... done.

 How can I understand that there are some troubles with the code? I 
 tried it on MacOS 10.10.5, gmp is !
 6.0.0,
boost is 1.55.0.
 Also tried debug build with assert(Pyramid_key.size() == dim); at the 
 beginning and at the end of the critical section and everything was fine.

 Best regards,
 Alexey Bataev
 =============
 Software Engineer
 Intel Compiler Team

 07.09.2015 0:25, Christof Söger via Openmp-dev пишет:
<blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> Hi everybody,

 I just downloaded the new 3.7 release and also the OpenMP runtime for 
 Darwin (compiled versions) and tried to compile our software package 
 "Normaliz" with it.
 Without -fopenmp=libomp it compiles and runs fine.
 With the openmp flag it compiles but I ran in problems (even if I set 
 the number of threads to 1).

 I debugged it a bit and the problem is that at the entering of a 
 critical section one std::vector, which is firstpri!
 vate in
the outer 
 parallel loop gets, invalidated.
 As a workaround it works when I copy the vector right before the 
 critical, and use that copy inside the critical section.

 I don't know under which exact circumstances this happens and was not 
 able to create a small example in which it happens. If you are 
 interested to check it, you can find the source code on github 
 <a moz-do-not-send="true" href="https://github.com/Normaliz/Normaliz">https://github.com/Normaliz/Normaliz</a>. To reproduce the problem 
 compile normaliz via cmake and run it with "normaliz -cq -x=1 
 example/medium". The critical critical is the critical(TRIANG) on 
 line 1113 in process_pyramid and the effected vector is Pyramid_key. 
 Right before the critical section an
 assert(Pyramid_key.size() == dim);
 succeeds, but in the critical section it fails.

 I hope this helps to figure out what happens. If I can any other 
 information please l!
 et me
know.

 Best regards,
 Christof

<hr>
 Openmp-dev mailing list
 <a class="moz-txt-link-abbreviated" href="mailto:Openmp-dev@lists.llvm.org">Openmp-dev@lists.llvm.org</a>
 <a moz-do-not-send="true" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a>
</blockquote>
</blockquote>

</pre></blockquote></div>

</div>
</body></html>