Hi,

On multi-socket/multicore nodes, MPI+OpenMP programming model is pretty 
successful. This is the primary programming model we have now in Cactus. 
However, when one wants to granulize beyond loops either by coding up a 
thread manager oneself or using a matured thread manager, at some point, 
one will have to deal with global variables in Cactus (both flesh and 
some thorns).

There are several methods to make those global variables thread-safe
(see http://charm.cs.illinois.edu/newPapers/11-23/paper.pdf)

In a ticket submitted a couple weeks ago, we tried to take the thread 
local storage (TLS) based approach to deal with global variables in 
Cactus (flesh and thorns used for testing).
https://trac.einsteintoolkit.org/ticket/1618

Although it is not urgent to push anything in the development version of 
Cactus at this point, it will be good to start the discussion and come 
up with a systematic approach to deal with the global variables in 
Cactus now. The patch attached in the ticket marked the places where the 
attention should be paid and proposed quick fixes. It is open to 
discussion about how to make those fixes fit in Cactus though.

Regards,
Jian
_______________________________________________
Developers mailing list
[email protected]
http://www.cactuscode.org/mailman/listinfo/developers

Reply via email to