Index of /dist-ex/smp-conduit

[ICO]NameLast modifiedSize

[PARENTDIR]Parent Directory  -
[   ]Makefile.in2024-05-23 16:27 30K
[TXT]gasnet_extended_help_extra.h2024-05-23 16:26 4.0K
[TXT]gasnet_extended_fwd.h2024-05-23 16:26 2.5K
[TXT]gasnet_extended.c2024-05-23 16:26 5.1K
[TXT]gasnet_core_internal.h2024-05-23 16:26 897
[TXT]gasnet_core_help.h2024-05-23 16:26 665
[TXT]gasnet_core_fwd.h2024-05-23 16:26 8.9K
[TXT]gasnet_core.h2024-05-23 16:26 5.2K
[TXT]gasnet_core.c2024-05-23 16:26 37K
[   ]conduit.mak.in2024-05-23 16:26 524
[TXT]README2024-05-23 16:26 2.8K
[   ]Makefile.am2024-05-23 16:26 3.3K

GASNet smp-conduit documentation
Dan Bonachea <[email protected]>

User Information:
-----------------

smp-conduit provides a single-node loopback GASNet implementation for 
smp or uniprocessor systems lacking network hardware, or where
all the cores to be used coexist within a hardware-shared memory.

Where this conduit runs:
-----------------------

smp-conduit is extremely portable and should run anywhere with a POSIX-like
environment and hardware-shared memory.

smp-conduit jobs can be launched directly in the same manner as normal
POSIX executables - ie on the command line, no spawner script required.

Optional compile-time settings:
------------------------------

* All the compile-time settings from extended-ref (see the extended-ref README)

Recognized environment variables:
---------------------------------

* GASNET_PSHM_NODES 
  When process-shared memory (PSHM) support is enabled at configure time, this
  variable controls the number of GASNet smp-conduit processes to fork at job
  launch within gasnet_init (ie the degree of process parallelism). These
  processes will communicate through shared memory using PSHM. For more details
  on enabling and using PSHM support, see the top-level README.
  If PSHM is disabled, this variable is ignored and smp-conduit jobs consist of
  only a single process (but the client may still utilize thread-level
  parallelism within that process, in GASNET_PAR mode).

* GASNET_BARRIER=PSHM (default when PSHM support is enabled)
  Enables shared-memory implementation of GASNet barriers

* All the standard GASNet environment variables (see top-level README)

Known problems:
---------------

* Bug 3480
  It has been observed on Cray systems running CLE6 that following a call to
  munmap(), there may be a delay before the physical page frames are available
  for reallocation.  For more details see aries-conduit/README (source), or
  share/doc/gasnet/README-aries (installed).

* Bug 3727
  The smp-conduit support for remote atomics is limited to certain datatypes.
  In general, support encompasses all datatypes on LP64 platforms but is limited
  to 32-bit datatypes on ILP32 platforms.  However, there are exceptions on both
  types of platform, many of which are compiler dependent.
  The most up-to-date information on this bug is maintained at:
    https://gasnet-bugs.lbl.gov/bugzilla/show_bug.cgi?id=3727
  That bug report describes the problem in more detail.

* See the GASNet Bugzilla server for details on other known bugs:
  https://gasnet-bugs.lbl.gov/

Future work:
------------

===============================================================================

Design Overview:
----------------

All puts/gets are local accesses (with the locality check removed at compile
time).  When PSHM is not in use all AM handlers execute synchronously on the
calling thread, and segment alignment is trivially guaranteed.