public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GCC: OpenMP posix pthread
@ 2012-02-19 13:43 Erotavlas_turbo
  2012-02-19 13:53 ` Tim Prince
  0 siblings, 1 reply; 7+ messages in thread
From: Erotavlas_turbo @ 2012-02-19 13:43 UTC (permalink / raw)
  To: gcc

Hi,

I'm starting to use Helgrind a tool of Valgrind. I read on the manual the following statement:
Runtime support library for GNU OpenMP (part of GCC), at least for GCC versions 4.2 and 4.3. The GNU OpenMP runtime library (libgomp.so) constructs its own synchronisation primitives using combinations of atomic memory instructions and the futex syscall, which causes total chaos since in Helgrind since it cannot "see" those.

In the latest version of GCC, is this still true or now the OpenMP uses the standard POSIX pthread?

Thank you


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
  2012-02-19 13:43 GCC: OpenMP posix pthread Erotavlas_turbo
@ 2012-02-19 13:53 ` Tim Prince
  0 siblings, 0 replies; 7+ messages in thread
From: Tim Prince @ 2012-02-19 13:53 UTC (permalink / raw)
  To: gcc

On 2/19/2012 9:42 AM, Erotavlas_turbo@libero.it wrote:

> I'm starting to use Helgrind a tool of Valgrind. I read on the manual the following statement:
> Runtime support library for GNU OpenMP (part of GCC), at least for GCC versions 4.2 and 4.3. The GNU OpenMP runtime library (libgomp.so) constructs its own synchronisation primitives using combinations of atomic memory instructions and the futex syscall, which causes total chaos since in Helgrind since it cannot "see" those.
>
> In the latest version of GCC, is this still true or now the OpenMP uses the standard POSIX pthread?
>

Do you have a specific OS family in mind?


-- 
Tim Prince

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
@ 2012-03-02 20:45 Erotavlas_turbo
  0 siblings, 0 replies; 7+ messages in thread
From: Erotavlas_turbo @ 2012-03-02 20:45 UTC (permalink / raw)
  To: gcc

Hi,

I have found the solution i.e. the developers of GCC have found it. The latest version of GCC 4.6.3 can be used with Helgrind. See here for more detail http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html#debug.races


Best Regards

Salvatore


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
@ 2012-02-22 23:43 Erotavlas_turbo
  0 siblings, 0 replies; 7+ messages in thread
From: Erotavlas_turbo @ 2012-02-22 23:43 UTC (permalink / raw)
  To: gcc

Hi,

thank you for your reply. So I cannot use the Helgrind tool without disabling the futexes. Do you know if exist a open source thread analyzer?

Thank you



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
  2012-02-21 15:19 Erotavlas_turbo
@ 2012-02-21 20:16 ` Jakub Jelinek
  0 siblings, 0 replies; 7+ messages in thread
From: Jakub Jelinek @ 2012-02-21 20:16 UTC (permalink / raw)
  To: Erotavlas_turbo; +Cc: gcc

On Tue, Feb 21, 2012 at 04:50:58PM +0100, Erotavlas_turbo@libero.it wrote:
> Nobody can answer to my question?

You can configure gcc not to use futexes in libgomp (--disable-linux-futex),
but the default is to use them for performance reasons.

	Jakub

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
@ 2012-02-21 15:19 Erotavlas_turbo
  2012-02-21 20:16 ` Jakub Jelinek
  0 siblings, 1 reply; 7+ messages in thread
From: Erotavlas_turbo @ 2012-02-21 15:19 UTC (permalink / raw)
  To: gcc

Nobody can answer to my question?

Thank you

Salvatore Frandina


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: GCC: OpenMP posix pthread
@ 2012-02-19 15:24 Erotavlas_turbo
  0 siblings, 0 replies; 7+ messages in thread
From: Erotavlas_turbo @ 2012-02-19 15:24 UTC (permalink / raw)
  To: gcc

> On 2/19/2012 9:42 AM, Erotavlas_turbo@libero.it wrote:
>
> > I'm starting to use Helgrind a tool of Valgrind. I read on the manual the following statement:
> > Runtime support library for GNU OpenMP (part of GCC), at least for GCC versions 4.2 and 4.3. The GNU OpenMP runtime library (libgomp.so) constructs its own synchronisation primitives using combinations of atomic memory instructions and the futex syscall, which causes total chaos since in Helgrind since it cannot "see" those.
> >
> > In the latest version of GCC, is this still true or now the OpenMP uses the standard POSIX pthread?
> >
>
> Do you have a specific OS family in mind?
>
>
> --
> Tim Prince
>

Yes, I'm talking about the UNIX OS (Linux, MacOSx). The tool valgrind is only available for these systems.


Salvatore Frandina


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-03-02 20:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-19 13:43 GCC: OpenMP posix pthread Erotavlas_turbo
2012-02-19 13:53 ` Tim Prince
2012-02-19 15:24 Erotavlas_turbo
2012-02-21 15:19 Erotavlas_turbo
2012-02-21 20:16 ` Jakub Jelinek
2012-02-22 23:43 Erotavlas_turbo
2012-03-02 20:45 Erotavlas_turbo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).