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

139 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
6afa4c6c64 Windows friendly version. We have to split the OMPI_DECLSPEC in at least 3
different macros, one for each project. Therefore, now we have OPAL_DECLSPEC,
ORTE_DECLSPEC and OMPI_DECLSPEC. Please use them based on the sub-project.

This commit was SVN r11270.
2006-08-20 15:54:04 +00:00
David Daniel
59f2d86c36 * Move Gleb's rcache work from the gleb-rcache branch to the trunk
This commit was SVN r11198.
2006-08-15 18:40:08 +00:00
Sven Stork
556d73085d - Introduce the info key "mpool" to specify which mpool to use for the
allocation. This is necessary to detect if the user requests a specific
  mpool for the allocationi. Searching the key values for a specific mpool
  name does not work for the case that the user provides an info object
  without mpool specific information (see Ticket #254).
- In the case that the user provides a info object without requesting a
  specific mpool we use malloc to allocate buffer instead of returning
  NULL (fix for Ticket #254 )

This commit was SVN r11188.
2006-08-15 09:21:40 +00:00
Donald Kerr
f50aad2721 making basic udapl btl available by removing the .ompi_ignore and .ompi_unignore files
This commit was SVN r11134.
2006-08-08 19:19:54 +00:00
Gleb Natapov
91f48f9a79 Merge with gleb-pml branch. Add out of resource handling support to PML layer.
If resource is not available request is added to one of the pending list and retried later.

This commit was SVN r10900.
2006-07-20 14:44:35 +00:00
Brian Barrett
4c101c6394 * rename the collectives sm bootstrap area to be consistent with other
shared memory segments
* make sure to properly unlink the collectives sm bootstrap area at
  shutdown
* Add missing / in the path for the mpool shared memory segment
* make sure to release the common_mmap structure in the SM btl
  after unlinking the file during shutdown

This commit was SVN r10886.
2006-07-19 20:55:29 +00:00
George Bosilca
0c4f18b397 As this object was created using the OBJ_NEW it should be destroyed using OBJ_RELEASE.
This commit was SVN r10869.
2006-07-18 18:42:30 +00:00
George Bosilca
d00e6e29e8 Create a close function for the mpool SM module, in order to allow the cleanup. The
mca_common_sm_mmap file was left over by the SM mpool, and there was nobody able
to unmap and unlink it.

This commit was SVN r10770.
2006-07-12 22:12:07 +00:00
Brian Barrett
5cadbbbf41 Fix for bug #140. If we're leaving things pinned, certain assumptions about
where to look for registrations that were used in the alloc/free code don't
work (because the memory returned from malloc() -- whowever gets around to
calling it) might actually be registered already.  So just call malloc
and free directly and avoid the whole issue when leave pinned is on.  After
all, you have to pay the registration cost sometime, and if leave pinned
is on, you only have to pay it once.  It makes things much simpler to
have that once be at first use rather than during ALLOC_MEM, and as far
as I can read, we're still standards conformant this way.

This commit was SVN r10406.
2006-06-17 18:34:41 +00:00
George Bosilca
aca71521db Complete the move of the mpool registration from opal_list_item_t to the
ompi_free_list_item_t.

This commit was SVN r10354.
2006-06-14 17:43:50 +00:00
Galen Shipman
18dda70fd0 make ompi_free_list_item_t a class..
This will go to the 1.1 branch but will probably require a few changes as
ompi_free_list_t is different in the branch.. 

This commit was SVN r10306.
2006-06-12 16:44:00 +00:00
Brian Barrett
d3257f22d8 * back out Galen's r10300 because it breaks the build. Real fix coming RSN.
This commit was SVN r10303.

The following SVN revision numbers were found above:
  r10300 --> open-mpi/ompi@b0f3745791
2006-06-12 14:38:14 +00:00
Galen Shipman
b0f3745791 declare these as ompi_free_list_item_t's
This needs to go to 1.1

This commit was SVN r10300.
2006-06-12 13:26:15 +00:00
Galen Shipman
9d73217637 These list items are free list items, and should inherit properly..
This commit was SVN r10295.
2006-06-11 20:19:12 +00:00
Andrew Friedley
9a92394bfd Mostly cleanups - preprocessor fixes and removal of OPAL_OUTPUTs.
Also updated to match recent mpool_free changes.

This commit was SVN r10273.
2006-06-09 00:18:29 +00:00
Galen Shipman
08823e56fa check address before looking for the item in the tree corresponding to the
address.. 
All have been reviewed by brian.. putting in a changeset request.. 

This commit was SVN r10256.
2006-06-08 16:27:59 +00:00
Galen Shipman
636ef0cf6c don't put back null items on the list..
This commit was SVN r10253.
2006-06-08 14:46:41 +00:00
Galen Shipman
429056078a fix numerous late night errors..
1) don't need tree if memory is just malloc'd 
2) fix memory and free list leak.. 
3) deregister first and then free... doh.. 

This commit was SVN r10251.
2006-06-08 14:23:20 +00:00
Galen Shipman
5a2ceda93f a couple of stupid late night mistakes...
This commit was SVN r10250.
2006-06-08 13:39:41 +00:00
Galen Shipman
0bb8a6fca8 roll back to not use memalign
This commit was SVN r10249.
2006-06-08 04:34:04 +00:00
Galen Shipman
b42b0bd1af potential fix for ticket #81
Added a tree to track memory allocation from MPI_Alloc_mem, this allows us to
free the registrations in a sane fashion.. also should be faster.. 

This commit was SVN r10248.
2006-06-08 04:29:27 +00:00
Sven Stork
c31e6f9767 use memalign instead of malloc + manually alignment in the mvapi mpool
revert commit 10243

This commit was SVN r10247.
2006-06-07 23:21:23 +00:00
Andrew Friedley
5ace292cc1 Should fix ticket #81 - which is specific to MVAPI, I've included the same fix for gm/openib as well.
uDAPL has the same problem, will fix in separate commit so it doesn't go to branch.

This commit was SVN r10243.
2006-06-07 15:52:48 +00:00
Andrew Friedley
fa9ec2afdf Add my sandia username for convenience
This commit was SVN r10071.
2006-05-25 15:49:11 +00:00
Galen Shipman
deb2254c91 1. mpool_free changes to allow null registrations
2. fix for MPI_Free_mem, was calling deregister but never called mpool_free.. so
we leaked memory. Still an open issue here though, if the memory is alloc'd
and the mpool doesn't create and cache a registration, we will never find the
mpool to free with. 

This commit was SVN r9944.
2006-05-16 22:04:31 +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
Galen Shipman
5271948ec0 --- opal object changes
add object size to opal class
no longer need the size when allocating a new object as this is stored in
the class structure

--- dr changes 
Previous rev. maintained state on the communicator used for acking duplicate
fragments, but the communicator may be destroyed prior to successfull
delivery of an ack to the peer. We must therefore maintain this state
globally on a per peer, not a per peer, per communicator basis. 
This requires that we use a global rank on the wire and translate this as
appropriate to a local rank within the communicator. 

This commit was SVN r9454.
2006-03-29 16:19:17 +00:00
George Bosilca
dec87e2cea Remove a warning by protecting one of the variables around #if/#endif.
This commit was SVN r9409.
2006-03-24 04:43:53 +00:00
Andrew Friedley
48d61cd99a Mostly fragment/LMR handling fixes:
- Grab the mpool_registration in _frag_common_constructor()
 - Save the LMR context in the segment key
 - No need for cookie variables - can just cast the frag
 - No need to memcpy() data when recv'ing
 - Add an LMR triplet to the fragment structure and initialize it
   in btl_udapl_alloc().
 - Whitespace/typo fixes, remove some opal_output() calls

Looks like I can use triplets describing sub-regions of registered LMR's.  So I
do this - prior to this patch I was sending the entire free list memory over,
which isn't correct :)

Back to an earlier problem - when sending address information right after
connection establishment, the receiving end receives a DTO completion event and
appears to have good data.  But the sending end never receives a DTO completion
event indicating the send completed, and never completes the client side of the
connection.

This commit was SVN r9386.
2006-03-23 16:21:08 +00:00
Galen Shipman
adf621fcce enable both mpool_base_use_mem_hooks and mpool_use_mem_hooks, same for
disable_sbrk. 

This commit was SVN r9385.
2006-03-23 16:15:50 +00:00
Galen Shipman
e548f5f8a8 change pml_ob1_leave_pinned_pipeline param to mpi_leave_pinned_pipeline
This commit was SVN r9384.
2006-03-23 15:57:34 +00:00
Andrew Friedley
200bb7d59b Remove an unwanted opal_output()
This commit was SVN r9344.
2006-03-21 00:01:37 +00:00
George Bosilca
4aa343990f Remove the segfault in ompi_info, when we try to destruct a not yet
constructed object.

This commit was SVN r9308.
2006-03-16 16:56:22 +00:00
Andrew Friedley
a3e2d2442b Mostly whitespace and other small cleanups.
Fixed configure.m4 to pull in the modified CFLAGS properly.

Some additional error checking and use of OMPI_ENABLE_DEBUG.

This commit was SVN r9296.
2006-03-16 02:38:08 +00:00
George Bosilca
612570134f The request management framework has been redesigned. The main idea is
to let the PML (or io, more generally the low level request manager)
to have it's own release function (what was before the req_fini). This
function will only be called from the low level while the req_free will
be called from the upper level (MPI layer) in order to mark the request
as not used by the user anymore.

From the request point of view the requests will be marked as inactive
everytime we read their status (true for persistent as well). As 
MPI_REQUEST_NULL is already marked as inactive, the test and wait functions
are simpler. The drawback is that now we have to change in the
ompi_request_{test|wait} the req_status of the request once we get it's
status.

This commit was SVN r9290.
2006-03-15 22:53:41 +00:00
Brian Barrett
871957437d * SilverStorm's header files do some evil things that cause some of our
header files to go bad.  Include vapi.h after our headers to solve
  the issue.

This commit was SVN r9258.
2006-03-12 04:45:28 +00:00
George Bosilca
4fb373c7e8 HAVE_MALLOPT is defined only when we have it. It's not a 1/0 ttype of define, it's a
defined/undefined one.

This commit was SVN r9221.
2006-03-08 22:29:01 +00:00
George Bosilca
79d25220b6 HAVE_MALLOPT is automatically detected by configure, so the correct
check is not against a value but against the define.

This commit was SVN r9126.
2006-02-23 04:30:24 +00:00
Galen Shipman
4612f70815 conditionally compile mpool_disable_sbrk if mallopt is present.
This commit was SVN r9107.
2006-02-21 22:27:41 +00:00
Galen Shipman
2b40758cf8 remove bug in turning on mem hooks automatically when leave pinned is
specified.

Turn mem hooks on automatically when sbrk is not disabled and
pml_ob1_leave_pinnned_pipeline is specified. 

This commit was SVN r9018.
2006-02-13 22:34:45 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Galen Shipman
1c71ab73d1 Move ompi_pointer_array initialization and destruction outside of the memory
callback, note that ompi_pointer_array_remove_all does not call free. 
This needs to go to the release branch 

This commit was SVN r8944.
2006-02-08 22:40:40 +00:00
Galen Shipman
8f8ed186f1 When leave pinned is set, only enable mem hooks if disable sbrk is not set.
This commit was SVN r8908.
2006-02-06 21:22:20 +00:00
Tim Woodall
c0d18c9579 mem hooks must be enabled if leave_pinned is set
This commit was SVN r8906.
2006-02-06 19:44:21 +00:00
Galen Shipman
6a6d86f963 Port mvapi free list for registrations to openib
This commit was SVN r8886.
2006-02-02 19:44:39 +00:00
Galen Shipman
a0d3ddd267 Use free list for registrations, otherwise we may OBJ_RELEASE in the memory
callbacks. 

This commit was SVN r8884.
2006-02-02 17:14:49 +00:00
Andrew Friedley
0ff8e47075 Checkpoint for the night:
- Updated copyrights
 - First pass at the uDAPL mpool component looks complete - is it really this easy?

This commit was SVN r8803.
2006-01-25 04:08:08 +00:00
Andrew Friedley
f5f8a1b874 Initial commit of uDAPL mpool component. Just a stripped copy of the GM mpool component right now.
This commit was SVN r8802.
2006-01-25 02:22:50 +00:00
Galen Shipman
1e0ea9dd6d Major fixes for the RDMA registration cache (leave_pinned).
This commit fixes issues with HPL runs on node counts > 4. 

This commit was SVN r8793.
2006-01-23 22:51:50 +00:00
George Bosilca
ee9b31459b The atomic variable should be signed not unsigned.
This commit was SVN r8757.
2006-01-19 18:47:32 +00:00