- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Multi-Thread Programming with OpenMP on linux
use GCC 4.3 with OpenMP or Intel C++ Compiler
who better?
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Tan-Killer
Multi-Thread Programming with OpenMP on linux
use GCC 4.3 with OpenMP or Intel C++ Compiler
who better?
why don't you compile, run and tell? (post compile flags also, btw)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - rreis
why don't you compile, run and tell? (post compile flags also, btw)
In case it's of any interest, my results on Levine-Callahan-Dongarra "vectors" show gfortran 4.4 and ifort 10.1 or 11.0 perform within 10% on 10 of 12 OpenMP parallel cases. In the other 2, ifort comes way ahead. For C code, gcc beats icc more often, when run with the Intel library, but it's much the same story.
These are cases which combine opportunities for vectorization and OpenMP parallel, and are sufficiently well optimized that HyperThreading shows no advantage.
The 2 cases where gcc/gfortran fall behind show off the ability of Intel compilers to vectorize a wider range of intrinsic functions. Combined vector and parallel shows the greatest payoff for those cases.
Comparing gcc and MSVC9, gcc shows relatively little advantage in the OpenMP parallel cases, when running on CPUs from the recent past, as memory bandwidth limitations cut the advantage which gcc has for single thread benchmarks. MSVC9 has the best optimization of max_element/min_element, a remarkable recovery from earlier MSVC where those weren't supported.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - tim18
In addition, show the gcc results when linked against libgomp and against Intel libiomp. Set appropriate GOMP_CPU_AFFINITY, if your platform needs it.
In case it's of any interest, my results on Levine-Callahan-Dongarra "vectors" show gfortran 4.4 and ifort 10.1 or 11.0 perform within 10% on 10 of 12 OpenMP parallel cases. In the other 2, ifort comes way ahead. For C code, gcc beats icc more often, when run with the Intel library, but it's much the same story.
These are cases which combine opportunities for vectorization and OpenMP parallel, and are sufficiently well optimized that HyperThreading shows no advantage.
The 2 cases where gcc/gfortran fall behind show off the ability of Intel compilers to vectorize a wider range of intrinsic functions. Combined vector and parallel shows the greatest payoff for those cases.
Comparing gcc and MSVC9, gcc shows relatively little advantage in the OpenMP parallel cases, when running on CPUs from the recent past, as memory bandwidth limitations cut the advantage which gcc has for single thread benchmarks. MSVC9 has the best optimization of max_element/min_element, a remarkable recovery from earlier MSVC where those weren't supported.
In case it's of any interest, my results on Levine-Callahan-Dongarra "vectors" show gfortran 4.4 and ifort 10.1 or 11.0 perform within 10% on 10 of 12 OpenMP parallel cases. In the other 2, ifort comes way ahead. For C code, gcc beats icc more often, when run with the Intel library, but it's much the same story.
These are cases which combine opportunities for vectorization and OpenMP parallel, and are sufficiently well optimized that HyperThreading shows no advantage.
The 2 cases where gcc/gfortran fall behind show off the ability of Intel compilers to vectorize a wider range of intrinsic functions. Combined vector and parallel shows the greatest payoff for those cases.
Comparing gcc and MSVC9, gcc shows relatively little advantage in the OpenMP parallel cases, when running on CPUs from the recent past, as memory bandwidth limitations cut the advantage which gcc has for single thread benchmarks. MSVC9 has the best optimization of max_element/min_element, a remarkable recovery from earlier MSVC where those weren't supported.
i use command
gcc-4.3 -fopenmp .....
and i have one question
why my status point for my account not show ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Tan-Killer
gcc-4.3 -fopenmp .....
g++ -O3 -fopenmp -msse3
and
icpc -openmp -msse3 -ansi-alias -fp-model source
If your question should be phrased more precisely as "which compiler has better default options?" that one won't be solved here.
![](/skins/images/872293744008A34B36F8ABF94A46CC66/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page