public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/27541] New: Support Cluster OpenMP (distributed-memory OpenMP)
@ 2006-05-10 21:57 tobias dot burnus at physik dot fu-berlin dot de
2006-05-10 22:09 ` [Bug other/27541] " pinskia at gcc dot gnu dot org
2006-05-10 22:46 ` tobias dot burnus at physik dot fu-berlin dot de
0 siblings, 2 replies; 3+ messages in thread
From: tobias dot burnus at physik dot fu-berlin dot de @ 2006-05-10 21:57 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]
Currently, GCC only supports OpenMP on shared-memory systems.
It would be nice if it could be extended to support OpenMP via the ethernet,
infiniband etc. (distributed-memory systems).
There exists (at least) one implementation of distributed-memory OpenMP: The
Intel Compilers 9.1's Cluster OpenMP.
Intel's Whitepaper:
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/285865.htm
Intel's Cluster OpenMP User manual:
http://softwareforums.intel.com/attachments/ids/11/3796/1/UsersGuide.pdf
Intel's Extentions to OpenMP:
" the sharable directive. The sharable directive identifies
variables that are referenced by more than one thread. These
variables are the ones that are managed by the DSM system."
(Some are automatically marked shareable, see whitepaper, p. 5)
The whitepaper also describes some implemenation details to deal with global
memory.
Running such a Intel-Cluster-OpenMP program: ./a.out, which first reads the
config file then starts the program on the remote computer via rsh or ssh. The
data transfer via TCP or Direct Access Provider Library (DAPL.sf.net).
* * *
Besides OpenMP there exists another multi-processor extention which works at
compile time: Cray's co-arrays, scheduled (in modified form) to be included
into the Fortran 2008 standard (see http://www.co-array.org/). Having a look at
the co-array specs shouldn't harm, when implementing this. Maybe some different
or further things should be considered.
--
Summary: Support Cluster OpenMP (distributed-memory OpenMP)
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobias dot burnus at physik dot fu-berlin dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27541
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug other/27541] Support Cluster OpenMP (distributed-memory OpenMP)
2006-05-10 21:57 [Bug other/27541] New: Support Cluster OpenMP (distributed-memory OpenMP) tobias dot burnus at physik dot fu-berlin dot de
@ 2006-05-10 22:09 ` pinskia at gcc dot gnu dot org
2006-05-10 22:46 ` tobias dot burnus at physik dot fu-berlin dot de
1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-05-10 22:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2006-05-10 22:09 -------
Is there really a standard for this or just an extension of OpenMP?
Though this is useful a little bit for the Cell where you don't really have a
distrubuted machine but the memory will be distributed though.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-05-10 22:09:40
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27541
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug other/27541] Support Cluster OpenMP (distributed-memory OpenMP)
2006-05-10 21:57 [Bug other/27541] New: Support Cluster OpenMP (distributed-memory OpenMP) tobias dot burnus at physik dot fu-berlin dot de
2006-05-10 22:09 ` [Bug other/27541] " pinskia at gcc dot gnu dot org
@ 2006-05-10 22:46 ` tobias dot burnus at physik dot fu-berlin dot de
1 sibling, 0 replies; 3+ messages in thread
From: tobias dot burnus at physik dot fu-berlin dot de @ 2006-05-10 22:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from tobias dot burnus at physik dot fu-berlin dot de 2006-05-10 22:46 -------
> Is there really a standard for this or just an extension of OpenMP?
I'm not sure whether I understand the question.
Directive wise it is OpenMP augmented by a single directive: "shareable".
This seems to be a single-vendor extension by Intel.
I think they simply took the OpenMP standard and looked how to implement it for
distributed memory.
The problem in inplementing is, as far as I understood, that plainly speaking
OpenMP assumes everything is global whereas distributed programs want to
minimize 'global' (better: shared) variables as they have to be synchronized
and are thus expensive.
Intel added "sharable" to denote explictly such a variable; however, some
variables are automatically marked as shareable.
Thus: Syntaxwise it is a rather small change quickly to be implemented in GOMP.
But the library system behind is a bigger task:
- wrapper main() which initializes helper library, finds settings and starts
the program on m computers (incl. forking of n threads) via rsh/ssh.
- provides synchronization (barrier, data exchange, collection of data etc.)
via
TCP or DAPL, especially for global variables
> Though this is useful a little bit for the Cell where you don't
> really have a distrubuted machine but the memory will be distributed though.
Well, I'm primarily interested to run a number-crunching program
(exciting.sf.net) on more nodes. As it is only parallized using OpenMP (and not
e.g. via MPI), I'm currently limited to 2 CPUs (or one dualcore) on our
cluster. Using Cluster OpenMP with infiniband I could use 2*120 CPUs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27541
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-05-10 22:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-10 21:57 [Bug other/27541] New: Support Cluster OpenMP (distributed-memory OpenMP) tobias dot burnus at physik dot fu-berlin dot de
2006-05-10 22:09 ` [Bug other/27541] " pinskia at gcc dot gnu dot org
2006-05-10 22:46 ` tobias dot burnus at physik dot fu-berlin dot de
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).