It looks like using MAP_PRIVATE instead of MAP_SHARED greatly
speeds up infiniband memory registration.
Change-Id: Id7089f58458ef8fff4034a2c4707d31f7e8b6694
Use experimental verbs to allocate memory at fixed base
virtual address.
verbs will disqualify itself if shared_mr is disabled
or not supported and it is impossible to allocate memory
starting at fixed base virtual address.
verbs contig pages allocator did not guarantee fixed va, now it does.
Added use_hp flag in sshmem/sysv variable to control huge page usage;
Added shared_mr sshmem/verbs;
Both paraemetes are set in auto.
Fix help messages
fixed by Igor, reviewed by @miked-mellanox and @alex-mikheev
Lock server pe computation was incorrect in cases when:
lock virtual address is signed long. In this case negative pe
value was returned.
In case when lock has different virtual adresses on different pes.
It can happen when memheap or static segment have different base
addresses. Use offset instead of absolute virtual address to
compute server pe
Fixed by @alex-mikheev, reviewed by @miked-mellanox
Properly setup the opal_process_info structure early in the initialization procedure. Define the local hostname right at the beginning of opal_init so all parts of opal can use it. Overlay that during orte_init as the user may choose to remove fqdn and strip prefixes during that time. Setup the job_session_dir and other such info immediately when it becomes available during orte_init.
Properly setup the opal_process_info structure early in the initialization procedure. Define the local hostname right at the beginning of opal_init so all parts of opal can use it. Overlay that during orte_init as the user may choose to remove fqdn and strip prefixes during that time. Setup the job_session_dir and other such info immediately when it becomes available during orte_init.
The alps ess component is obsolete. It relies on header
files only present in very old CLE (Cray Linux) 3.X for
the Cray XT series. As support for these systems is being
dropped starting with release 1.9, this code is being removed.
Several updates, including:
* Remove -single dash options
* Don't chmod the whole tree; just chmod the files we're trying to remove
* No more support for SVN or HG; 100% git
* Strengthen the dirty repo checks
* Use git describe for the repo version
* Set tarball_version to "" (i.e., empty) in VERSION
Removed a redundant copy of the scripts running on the build server
and moved the remaining copy out to a top-level directory in contrib
(i.e., contrib/build-server vs. contrib/dist/build-server, where I
never could remember where to find them).
Update the VERSION file scheme:
* Remove "want_repo_rev".
* Add "tarball_version".
All values are now always included (major, minor, release, greek,
repo_rev). However, configure.ac now runs "opal_get_version.sh
... --tarball", which will return the value of tarball_version (if it
is non-empty) or the "full" version string (i.e.,
"major.minor.releasegreek").
Remove configure.params support: configure.params hasn't been used in
years.
Also remove autogen.subdirs support; those should really be handled by
their respective Makefile.am's.
A problem was found with the libnbc MPI_Iallgather
routine when using intercommunicators. Special
thanks to Takahiro Kawashima(Fujitsu) for the patch
and a test case. Verified master fails without the
patch and the test passes with the patch applied.
fixes#219
It turns out that the alps plm code was developed only
on cray systems that were running batch schedulers.
However, for bring up and development systems, its not
at all uncommon for there to be no batch scheduler, and
thus to orte it appears that orte_num_allocated_nodes
is always zero. This forces a user using mpirun on such
a system to always specify a host list:
mpirun -n 4 -N 1 -host 32,45,68 ....
just to get the job to run, but then since the -L argument for aprun
is never built, the app always runs on the first batch of nodes that
aprun finds available.
Version numbering and "make dist" are quite complicated/subtle; I'm
not going to get this finished tonight. So revert VERSION to enable
other people to build.
More fixes coming soon...
This is a first cut at updating various infrastructure for git. There
will definitely be more commits; some of the scripts require
committed/pushed code (e.g., the various make-tarball scripts). So
it's not possible to know if we got it right without committing/pushing.
We don't use this script any more (we use gitdub now), but it took a
long time to figure this out. So I'm putting this script in git just
so that it's in history if we ever need it again.