[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