[Dune] [#737] Wrong results in concurrent access to reference elements

Dune flyspray at dune-project.org
Fri Feb 12 10:24:14 CET 2010


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Martin Weiser (weiser) 

Attached to Project - Dune
Summary - Wrong results in concurrent access to reference elements
Task Type - Bug Report
Category - Grid
Status - New
Assigned To - 
Operating System - Unspecified / All
Severity - Medium
Priority - Normal
Reported Version - SVN (pre2.0)
Due in Version - Undecided
Due Date - Undecided
Details - The mapping of subentity-coordinates to reference-coordinates in ReferenceElement<ctype,dim>::global() uses a static FieldMatrix (in mapGlobal(), referenceelements.hh:34).

In multithreaded applications, this leads to wrong results due to concurrent access to the same matrix,
which is shared by all threads due to being static.

I propose to remove the static qualifier. 

The impact on performance should be negligible because
the construction of a FieldMatrix on the stack is fast. The only issue might be that the constructor initializes the matrix elements to zero. Using a static matrix saves this initialization. However, a good optimizer should detect the double write and remove the initialization.

More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=737

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.




More information about the Dune mailing list