[Openmp-dev] Fwd: Re: OpenMP problems with clang 3.7.0
Bataev, Alexey via Openmp-dev
openmp-dev at lists.llvm.org
Mon Sep 7 05:53:43 PDT 2015
Sending this thread to OpenMP dev list to be sure it is not lost.
Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
-------- Перенаправленное сообщение --------
Тема: Re: [Openmp-dev] OpenMP problems with clang 3.7.0
Дата: Mon, 7 Sep 2015 09:07:54 +0200
От: Christof Söger <csoeger at uos.de>
Кому: Bataev, Alexey <a.bataev at hotmail.com>
Hi Alexey,
thanks for your quick answer. For you it indeed looks okay. I will test
it next week.
Best,
Christof
Am 7. September 2015 07:52:35 MESZ, schrieb "Bataev, Alexey"
<a.bataev at hotmail.com>:
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 пишет:
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
------------------------------------------------------------------------
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 пишет:
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
https://github.com/Normaliz/Normaliz. 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
------------------------------------------------------------------------
Openmp-dev mailing list Openmp-dev at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150907/c0f7a28b/attachment.html>
More information about the Openmp-dev
mailing list