[Openmp-dev] Performance slowdown
Bataev, Alexey via Openmp-dev
openmp-dev at lists.llvm.org
Wed Aug 19 20:06:15 PDT 2015
César,
Currently clang does not support array sections. Initial implementation
of array sections is under review.
Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
19.08.2015 20:26, César via Openmp-dev пишет:
> Thanks Jonathan, using -fopenmp=libomp I was able to link against
> libomp. However, for some benchmarks I get syntax error:
>
> src/sparselu-task-dep.c:35:89: error: expected ']'
> #pragma omp task firstprivate(kk)
> shared(BENCH) depend(inout:
> BENCH[kk*matrix_size+kk:submatrix_size*submatrix_size])
> ^
>
> the same benchmark compile with the [older] Github version of Clang,
> with clang-3.8 -fopenmp and also with GCC.
>
> Doesn't Clang support specifying memory ranges for the dependencies or
> does it just uses another syntax?
>
>
>
>
>
>
> César.
>
> On Wed, Aug 19, 2015 at 1:37 PM, Peyton, Jonathan L
> <jonathan.l.peyton at intel.com <mailto:jonathan.l.peyton at intel.com>> wrote:
>
> Currently to use libomp, the flag is: -fopenmp=libomp
>
> -- Johnny
>
> *From:*Openmp-dev [mailto:openmp-dev-bounces at lists.llvm.org
> <mailto:openmp-dev-bounces at lists.llvm.org>] *On Behalf Of *César
> via Openmp-dev
> *Sent:* Wednesday, August 19, 2015 11:30 AM
> *To:* andreybokhanko
> *Cc:* openmp-dev at lists.llvm.org <mailto:openmp-dev at lists.llvm.org>
> *Subject:* Re: [Openmp-dev] Performance slowdown
>
> On Wed, Aug 19, 2015 at 12:59 PM, andreybokhanko
> <andreybokhanko at gmail.com <mailto:andreybokhanko at gmail.com>> wrote:
>
> Indeed, I meant official released 3.5. Did you get your
> compiler from clang-omp.github? It's probably outdated and
> can't be used for reliable performance measurements.
>
> I will update clang-omp.github home page to avoid further
> confusion.
>
> Yes, that was exactly what happend! Thanks Alexey/Andrey.
>
> I have just downloaded clang-3.8 (trunk) and started some
> experiments, however I see that clang is trying to link with "lib
> gomp" (GNU) and not "libomp" (Intel). Is this really the intended
> default behavior? How can I tell clang to use the Intel OMP?
>
> Yours,
>
> Andrey
>
>
> 19 авг. 2015 г., в 8:17, Bataev, Alexey <a.bataev at hotmail.com
> <mailto:a.bataev at hotmail.com>> написал(а):
>
> If you're using 3.5, then this is unofficial version with
> OpenMP. Use 3.7 instead just like Andrey said
>
> Best regards,
>
> Alexey Bataev
>
> =============
>
> Software Engineer
>
> Intel Compiler Team
>
> 19.08.2015 1:25, César via Openmp-dev пишет:
>
> Hi Andrey,
>
> 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.
>
> $ clang -O3 -g -fopenmp toy13.cpp -o toy13 -lm
>
> $ nm toy13 | grep kmpc
>
> U __kmpc_cancel_barrier@@VERSION
>
> U __kmpc_end_single@@VERSION
>
> U __kmpc_fork_call@@VERSION
>
> U __kmpc_omp_task_alloc@@VERSION
>
> U __kmpc_omp_task_with_deps@@VERSION
>
> U __kmpc_single@@VERSION
>
> $ ldd toy13
>
> linux-vdso.so.1 => (0x00007fff9805d000)
>
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
> (0x00007fc00e3cc000)
>
> libiomp5.so => /usr/lib/libiomp5.so (0x00007fc00e121000)
>
> libpthread.so.0 =>
> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc00df03000)
>
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> (0x00007fc00db3e000)
>
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
> (0x00007fc00d939000)
>
> /lib64/ld-linux-x86-64.so.2 (0x00007fc00e6fc000)
>
>
>
>
> César.
>
> On Tue, Aug 18, 2015 at 6:15 PM,
> <andreybokhanko at gmail.com
> <mailto:andreybokhanko at gmail.com>> wrote:
>
> César,
>
> - The version of Clang that I am using to
> compile the benchmarks: 3.5.0
>
> Clang 3.5 doesn't support OpenMP -- it simply
> ignores the pragmas.
>
> Please use version from trunk or from 3_7 release
> branch. Also, please supply -fopenmp= libomp option.
>
> Yours,
>
> Andrey Bokhanko
>
> =============
>
> Software Engineer
>
> Intel Compiler Team
>
> Intel
>
>
> Отправлено с iPad
>
>
> 18 авг. 2015 г., в 21:14, César via Openmp-dev
> <openmp-dev at lists.llvm.org
> <mailto:openmp-dev at lists.llvm.org>> написал(а):
>
> Hello,
>
> I don't know if this is the correct list to
> talk about this - I did not find a better place..
>
> 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).
>
> The benchmarks I am using are these ones:
> http://kastors.gforge.inria.fr/#!index.md
> <http://kastors.gforge.inria.fr/#%21index.md>
>
> 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:
>
> - I tested with the last version of the
> repository:
> http://llvm.org/svn/llvm-project/openmp/trunk
>
> - I am using Ubuntu 14.10.
>
> - I have tested on more than one machine, the
> results above are from a Intel i7-3770
>
> - The runtime itself is compiled using: make
> compiler=gcc os_omp=linux arch=32e
>
> - The version of GCC that I am using is: 4.9.1
>
> - The version of Clang that I am using to
> compile the benchmarks: 3.5.0
>
>
>
> César.
>
> <pic1.png>
>
> <pic2.png>
>
> <pic3.png>
>
> _______________________________________________
> Openmp-dev mailing list
> Openmp-dev at lists.llvm.org
> <mailto:Openmp-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>
> _______________________________________________
>
> Openmp-dev mailing list
>
> Openmp-dev at lists.llvm.org
> <mailto:Openmp-dev at lists.llvm.org>
>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>
>
>
>
> _______________________________________________
> 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/20150820/f5fd0583/attachment-0001.html>
More information about the Openmp-dev
mailing list