1
1
Граф коммитов

7330 Коммитов

Автор SHA1 Сообщение Дата
Graham Fagg
c31a5ad4b3 A few small changes that just expanded in the name of neatness...
(1) As pointed out by Torsten after Jeff comment that there are 15 collectives yesterday.. nope.. I have 16 but
    miss counted them in my ifdefs (I had two #11s). Replaces with enum...
(2) Added a readonly MCA param for how many backend algorithms are available per collective (used by benchmarker/STS)
    This allowed me to remove the tuned query internal functions and replace them with ompi_coll_tuned_forced_max_algorithms[COLL].
(3) I was reading the user forced MCA params for the collectives on each comm create (module init) but I then put the 
    values into a global set of variables (like ompi_coll_tuned_reduce_forced_algorithm).

    To fix this and make the code neater:
    (a) The component looks up the MCA param indices on Open if dynamic_rules is set via the
                        ompi_coll_tuned_COLLECTIVE_intra_check_forced_init () call.
    (b) Got rid of the ompi_coll_ompi_coll_tuned_COLLECTIVE_forced_algorithm/segmentsize/etc globals with a struct that
            is now cached on the module data hung off the communicator. i.e. done right.
    (c) On module init if dynamic rules enabled we call a general getvalues routine (in coll_tuned_forced.c) to get the
            CURRENT values using the MCA param indices and then put them on the modules data segment.
        A shorter version of getvalues exists for barrier which only needs the algorithm choice

This commit was SVN r9663.
2006-04-19 23:42:06 +00:00
Andrew Friedley
345551cb36 Checkpoint before starting work on max-sized frags (maybe user too?).
- Some initial work on prepare_src
- Move some fragment initialization around
- Fix a union casting issue on picky compilers, identified by Don Kerr
- Other small cleanups/bugfixes

This commit was SVN r9662.
2006-04-19 22:20:22 +00:00
George Bosilca
61bea41350 The same in MX (missing copyright).
This commit was SVN r9661.
2006-04-19 21:37:30 +00:00
George Bosilca
afe9821d84 Add a missing copyright.
This commit was SVN r9660.
2006-04-19 21:36:22 +00:00
Ralph Castain
95c4795157 Try a different tack...
This commit was SVN r9658.
2006-04-19 15:33:34 +00:00
Rainer Keller
990496bc80 - Small bugfix to get lib-directory checking correct
(prevented orte/mca/pls/tm from detecting libpbs).

This commit was SVN r9657.
2006-04-19 15:22:55 +00:00
Brian Barrett
6617d48e00 * fix small issue with cross-compiling - we don't need
to run the working test when cross-compiling, so just
  ignore it for now..

This commit was SVN r9653.
2006-04-18 18:22:00 +00:00
George Bosilca
29fbf9e296 Add more information on the default name of the communicator. We will be
able to know how the communicator was created and from which parent.

This commit was SVN r9649.
2006-04-16 01:34:34 +00:00
Tim Woodall
10f343734f decrease eager limit to 12K (improves latency)
This commit was SVN r9646.
2006-04-14 22:28:37 +00:00
Tim Woodall
6523c12e4b - decrease eager limit to 12K (improves latency)
- trigger event library while setting up connections

This commit was SVN r9645.
2006-04-14 22:28:05 +00:00
Tim Woodall
c6489cb5aa - turn on eager rdma by default
This commit was SVN r9641.
2006-04-14 21:11:14 +00:00
George Bosilca
b3cc3d82d3 Activate the OOB while we setup connections for MVAPI. Same thing should be done for the
Open IB ...

This commit was SVN r9640.
2006-04-14 20:53:42 +00:00
Brian Barrett
575b3571a6 update to match last patch
This commit was SVN r9637.
2006-04-14 15:46:30 +00:00
Brian Barrett
d5012bf485 Two patches from Ralf Wildenhues to improve configure:
- include stdlib.h for tests that call exit(), as AC no longer
    prototypes exit in 2.60
  - Fix a compile issue in our cross-compiling test for C/C++
    alignment checks, matching what AC did for 2.60.

This commit was SVN r9634.
2006-04-14 15:33:51 +00:00
Jeff Squyres
c07cff349d The COMM_SELF / attribute / FINALIZE fixes were approved for v1.0.3.
So move the NEWS item.

This commit was SVN r9630.
2006-04-13 18:56:02 +00:00
Ralph Castain
93115fdaea Try again with passing the right enviro variables.
This commit was SVN r9629.
2006-04-13 18:07:22 +00:00
Jeff Squyres
82d590629d After extensive conversations about this...
- My original patch stands: MPI_FINALIZE directly invokes the
  attribute callbacks on MPI_COMM_SELF
- We added some user-level checks to ensure that they don't call
  MPI_FINALIZE twice (this isn't really required, but it will prevent
  whacky segv's -- they'll at least get a nice error message)
- Removed the attribute callbacks on MPI_COMM_SELF from
  ompi_mpi_comm_finalize (i.e., we just moved them from
  ompi_mpi_comm_finalize to ompi_mpi_finalize -- we just moved this
  process up earlier in the MPI_FINALIZE sequence of events)
- Because there were so many conversations about this, here's the
  rationale:
  - MPI-2:4.8 says that we have to MPI_COMM_FREE MPI_COMM_SELF so that
    the attribute callbacks are invoked.
  - After considerable discussion, we came to the conclusion that
    FREE'ing COMM_SELF is not the issue -- calling the callbacks is
    the issue.
  - So it is sufficent for MPI_FINALIZE to directly invoke these
    attribute callbacks
  - The attribute callbacks are *not* invoked on other communicators
    because said communicators are not MPI_COMM_FREE'ed

This commit was SVN r9628.
2006-04-13 17:00:36 +00:00
Ralph Castain
480af1c150 Add the missing enviro variables
This commit was SVN r9627.
2006-04-13 16:41:47 +00:00
Ralph Castain
d7456c3d89 Fix the broken Doxyfile so people can generate what little code base documentation we have :-)
Copy the Doxyfile to orte so people can generate just that documentation. Adjust the properties on that directory so it ignores the resulting doxygen output tree.

This should go over to the release branch(es)

This commit was SVN r9625.
2006-04-13 12:52:17 +00:00
Jeff Squyres
b1ed81920a Minor updates
This commit was SVN r9624.
2006-04-13 04:24:32 +00:00
George Bosilca
b92e78761a I did it under pressure !!!
The free lst using atomic operations. I didn't want to completely
change the behavior, so we still use a mutex for the extreme cases (like
no more available items and we cannot allocate more). I test it for a
while on non multi-threading environment, but not enough on a multi-threaded
build.

This commit was SVN r9623.
2006-04-12 23:27:38 +00:00
Sushant Sharma
642e33fb3e xcpu launcher updated to setup the environment on remote nodes before launching jobs.
This commit was SVN r9622.
2006-04-12 22:42:41 +00:00
Ralph Castain
424900068f Update the xcpu launcher to setup the environment
This commit was SVN r9620.
2006-04-12 15:41:54 +00:00
Jeff Squyres
201f8bb602 Properly delete attributes on MPI_COMM_SELF as the very first thing in
MPI_FINALIZE, per MPI-2:4.8.

This commit was SVN r9618.
2006-04-12 01:16:45 +00:00
Sushant Sharma
9fe5870862 xcpu pls component fixed so that it will compile correctly.
This commit was SVN r9617.
2006-04-11 20:27:13 +00:00
Brian Barrett
19b362a49d We've branched for v1.1, so bump up the version of the trunk to v1.2.
This commit was SVN r9615.
2006-04-11 16:42:33 +00:00
Ralph Castain
9adc16130e Proposed revision of the xcpu launcher to correctly incorporate the OpenRTE and Open MPI environment
This commit was SVN r9612.
2006-04-11 14:33:17 +00:00
Jeff Squyres
f8e634d6ca Bring over /tmp/f90-stuff branch to the trunk.
svn merge -r 9453:9609 https://svn.open-mpi.org/svn/ompi/tmp/f90-stuff .

Several improvements over the current F90 MPI bindings:

- The capability to make 4 sizes of the F90 bindings:
  - trivial: only the F90-specific MPI functions (sizeof and a few
    others)
  - small: (this is the default) all MPI functions that do not take
    choice buffers
  - medium: small + all MPI functions that take one choice buffer
    (e.g., MPI_SEND)
  - large: all MPI functions, but those that take 2 choice buffers
    (e.g., MPI_GATHER) only allow both buffers to be of the same type
- Remove all non-standard MPI types (LOGICAL*x, CHARACTER*x)
- Remove use of selected_*_kind() and only use MPI-defined types
  (INTEGER*x, etc.)
- Decrease complexity of the F90 configure and build system

This commit was SVN r9610.
2006-04-11 03:33:38 +00:00
Galen Shipman
ba0aa46220 make csum's optional in pml dr, on by default, see mca param
pml_dr_enable_csum

This commit was SVN r9608.
2006-04-10 21:54:46 +00:00
Gleb Natapov
98282a3567 fix spelling. threashold -> threshold.
This commit was SVN r9577.
2006-04-08 08:13:37 +00:00
Brian Barrett
f37a77dd08 * Fix potential deadlock when mpi threads are enabled and progress threads are
not.  See lengthy comment in the body of commit.

This commit was SVN r9573.
2006-04-07 18:13:35 +00:00
Andrew Friedley
d461b55696 - Implement OOB connection handshaking via the ORTE RML. To start a connect,
we send our local addr_t OOB.  Remote side then matches endpoints and calls
  dat_ep_connect().  Everything should be the same as before from here, except
  that client/server roles are reversed.
- Properly set our buffer size when posting receives.  When the frag used to
  transfer address information is recycled by the free list, the wrong buffer
  size was being used, which caused buffer overflow errors.
- Finally put the uDAPL error handling stuff in the mpool component.
- Remove a few more OPAL_OUTPUTs.

This commit was SVN r9569.
2006-04-07 15:26:05 +00:00
George Bosilca
41ec2f2038 Update PERUSE. Some cleanups, more centralized event management.
This commit was SVN r9568.
2006-04-07 06:03:32 +00:00
George Bosilca
7055e9765e Add the OMPI_SKIP_MPICXX to allow the user to avoid the inclusion of the
CXX bindings if a C code is compiled with a CXX compiler.

This commit was SVN r9567.
2006-04-07 04:57:53 +00:00
Jeff Squyres
f710ef5b2b Commit 1.5 of 2: just like r9560, we need to make the MPI_*_C2F
functions return an invalid fortran handle (-1) if an invalid C handle
is passed in.

Just so it's logged somewhere -- it looks like commit 2 of 2 as noted
in the r9560 commit message (ok, 3 of 3 if you're really counting),
where we have to edit the C interface functions to check for NULL, is
going to be far easier than I thought -- many (but not all) of the C
interface functions already check for NULL MPI handles (either
directly or through helper functions).  

Woo hoo for foresight...

This commit was SVN r9561.

The following SVN revision numbers were found above:
  r9560 --> open-mpi/ompi@e00c6053dc
2006-04-07 04:01:22 +00:00
Jeff Squyres
e00c6053dc Commit 1 of 2: be consistent in the MPI_*_F2C functions for the
handling of invalid Fortran handles.  Per MPI-2:4.12.4, if we get an
invalid Fortran handle, we should return an invalid C handle.  Before
this commit, we checked if the fortran handle index was out of range
(i.e., <0 or >sizeof(array)).  If so, we used to return MPI_*_NULL
(i.e., a valid C handle).  But to be faithful to MPI-2:4.12.4, we
now return NULL (an invalid C handle).

If the fortran index is in bounds but is an index for an MPI object
that has already been freed, the code already returns NULL because the
entry in the array will be NULL (i.e., we already did what
MPI-2:4.12.4 said for this case).

Hence, this commit makes the handling of invalid fortran handles in
the MPI_*_F2C functions be uniform: we always return NULL.

Commit 2 of this will be to edit just about every C interface function
(!) to ensure that MPI handles are not NULL.  Otherwise, if the user
calls a fortran interface function with an invalid handle, the fortran
interface function will call MPI_*_F2C and blindly pass the result to
the back-end C function.  The C function will eventually end up trying
to dereference it -- segv.  Having a run-time check for NULL and
invoking an MPI exception is far more social (e.g., the user can get a
stack trace out of MPI_ABORT) and consistent (i.e., we're already
checking for MPI_*_NULL in the C interface functions).

Since all the C interface functions have all the machinery for
run-time parameter checking, and they all already check for
MPI_*_NULL, it's easy enough to add another check for NULL.

This commit was SVN r9560.
2006-04-07 03:49:58 +00:00
Sushant Sharma
26d51d5041 Cleaned lots of dead code in xcpu soh component (soh_xcpu.c). Checked the fix submitted by Ralph Castain for completing processes in soh_xcpu. Its working fine now.
This commit was SVN r9554.
2006-04-06 16:26:25 +00:00
Brian Barrett
d5b0da555a ignore all the generated files in the new memcpy framework / components
This commit was SVN r9553.
2006-04-06 15:26:08 +00:00
George Bosilca
ca75ff2569 In the case we have support for threads, then the opal library have it's own
thread, which will do progress independently of MPI. So in this case we 
have to call opal_event_loop instead of opal_progress.

This commit was SVN r9551.
2006-04-06 14:31:38 +00:00
Brian Barrett
7408de0bfb When progress threads are enabled, opal_progress() doesn't call the
event library (since the event library has its own thread).  So when
we are using progress threads, we really want to call opal_event_loop()
and not opal_progres(). 

This commit was SVN r9549.
2006-04-06 12:58:09 +00:00
Jeff Squyres
9c89a0b6ef Sync with v1.0 NEWS.
This commit was SVN r9547.
2006-04-06 11:43:24 +00:00
Ralph Castain
895c2ade8b Proposed fix for completing processes
This commit was SVN r9543.
2006-04-06 08:18:42 +00:00
Ralph Castain
c79c1714de Okaaayyy....let's see if this restores the "prefix" command line option. No idea what the problem was with the other option, but it isn't critical right now, so I'll figure it out later.
This commit was SVN r9542.
2006-04-06 07:53:38 +00:00
George Bosilca
c258861882 Allow atomic pointer arithmetic and correct some name errors.
This commit was SVN r9541.
2006-04-06 06:06:46 +00:00
Brian Barrett
176aa8b7e1 include default implementation header file in tarball. fixes make distcheck,
I think

This commit was SVN r9540.
2006-04-06 02:46:14 +00:00
Brian Barrett
6691e55d30 * sync opal_atomic_cmpset_{32,64} for AMD64 with the x86 32 bit version,
as I understand how that one works and don't really understand what
  was in the amd64 code (which was copied from before I started working
  on the inline assembly).  This fixes the race condition we were
  seeing on PGI causing test failures
* sync non-inline assembly with inline assembly version

This needs to go to the v1.0 branch

This commit was SVN r9539.
2006-04-06 01:23:33 +00:00
Jeff Squyres
f6bbe033f0 The output of the copy function is a logical, not an int. So we need
to use the appropriate macro for all the Fortran .TRUE. handling, or
things get misinterpeted and, with some compilers, it will look like
the attribute wasn't copied properly.

This commit was SVN r9536.
2006-04-05 19:00:11 +00:00
Ralph Castain
0ba8851a47 Fix the univ_exist option
This commit was SVN r9535.
2006-04-05 17:18:06 +00:00
George Bosilca
6e6698bec3 Open and close the memcpy component. Hopefully it is in the right place, as
the memcpy should be available as soon as possible after startup.

This commit was SVN r9533.
2006-04-05 05:57:51 +00:00
George Bosilca
d311d8acf1 The memcpy framework. The base component is here, but right now no
implementations. I dont want to overload the memcpy functions,
therefore people interested in using the high performance memcpy
should use directly opal_memcpy instead. Notice, that there are 2
other versions of memcpy available, which use a destination or a source
described as iovecs.

This commit was SVN r9532.
2006-04-05 05:56:08 +00:00