1
1

311 Коммитов

Автор SHA1 Сообщение Дата
Rainer Keller
01ba38661d - First usage of the some of the attributes
This commit was SVN r13370.
2007-01-30 20:54:06 +00:00
Jeff Squyres
3c5c8c3c4c Refinement of Rainer's r13227 and r13228 (worked with Rainer, Ralph,
and George on these refinements):

 * Rename the static OBJ initializer macro to be
   OPAL_OBJ_STATIC_INIT(class)
 * Ensure that all static OBJ initializations get a refcount of 1
   (doesn't ''really'' matter, since they're static, it should never
   get to the point where the OBJ is DESTRUCTed, but more correct
   nonetheless)
 * Add a "magic number" to the OBJ when compiling with debug support.
   The magic number does some rudimentary support to ensure that
   you're operating on a valid OBJ (and fails an assertion if you're
   not).  Check to ensure that the memory contains the magic number
   when performing actions of OBJ's.  Also remove the magic number
   when DESTRUCTing OBJs, so that if, for example, an OBJ is
   DESTRUCTed more than once, we'll fail the magic number assert.

This commit was SVN r13338.

The following SVN revision numbers were found above:
  r13227 --> open-mpi/ompi@96030de97b
  r13228 --> open-mpi/ompi@c2e9075d29
2007-01-27 13:44:03 +00:00
George Bosilca
c0b22678a7 OMPI_ENABLE_DEBUG is always defined. Remove all warnings when compiled in
non debug mode.

This commit was SVN r13230.
2007-01-21 18:14:06 +00:00
Rainer Keller
c2e9075d29 - Define a OPAL_CLASS_EMPTY to be used for initialization.
Similar within the dt_module for the predefined datatypes.

This commit was SVN r13228.
2007-01-21 15:52:06 +00:00
Rainer Keller
125ba1acfa - Reduce the amount of warnings with -Wshadow -- mainly due to
usage of index and abs in inline-fcts in header files.

This commit was SVN r13217.
2007-01-19 19:48:06 +00:00
Brian Barrett
f191a042f6 Fix compile errors in heterogeneous code when not building heterogeneous
support.

Refs trac:701

This commit was SVN r12932.

The following Trac tickets were found above:
  Ticket 701 --> https://svn.open-mpi.org/trac/ompi/ticket/701
2006-12-28 20:28:14 +00:00
Brian Barrett
f1fdd7c041 Handle case where remote process is of different architecture than the local
process when creating a datatype from an internal description.

Refs trac:640

This commit was SVN r12877.

The following Trac tickets were found above:
  Ticket 640 --> https://svn.open-mpi.org/trac/ompi/ticket/640
2006-12-17 04:39:16 +00:00
Brian Barrett
441432950f Merge in changes from the bwb-heterogeneous temp branch (r12491 -
r12714) for supporting compilers / architectures with different
padding rules.

This commit was SVN r12749.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r12491
  r12714
2006-12-04 20:11:42 +00:00
Brian Barrett
63e5668e29 Number of one-sided fixes:
* use one-sided datatype check instead of send/receive and check both
    the origin and target datatypes
  * allow error handler to be set on MPI_WIN_NULL, per standard
  * Allow recursive calls into the pt2pt osc component's progress
    function
  * Fix an uninitialized variable problem in the unlock header

This commit was SVN r12667.
2006-11-27 03:22:44 +00:00
George Bosilca
b621069638 Don't copy the reference count when we duplicate a datatype. Thanks
to Andreas Schafer for the fix.

This commit was SVN r12566.
2006-11-13 05:45:29 +00:00
George Bosilca
2b9f6613c9 Rewrite the ompi_ddt_sndrcv function.
This commit was SVN r12561.
2006-11-12 05:56:02 +00:00
George Bosilca
2ee30fd468 This wasn't the correct way to write the if statement. What I want is
that if one of them is zero then the if will get executed.

This commit was SVN r12560.
2006-11-12 05:27:27 +00:00
George Bosilca
ab1655079d Turn off the CONVERTOR_NO_OP once we reach this point.
This commit was SVN r12526.
2006-11-09 23:56:31 +00:00
George Bosilca
4cb7910a8b And now the optimization step.
This commit was SVN r12521.
2006-11-09 20:26:51 +00:00
George Bosilca
e33d1dedab Rewrite the conditions to keep them as small as possible. Correct some
of these conditions. Optimize the flags generation for the convertor.

This commit was SVN r12518.
2006-11-09 19:33:19 +00:00
George Bosilca
da1720d1ef Indentation only.
This commit was SVN r12517.
2006-11-09 19:31:52 +00:00
George Bosilca
a14ff905f8 Update the convertor.c file. This commit was supposed to go together with
r12486 but somehow I miss it.
Update the pack and unpack functions for contigusous datatypes to minimize their
impact on the performance. Keep them as condensed as possible.

This commit was SVN r12513.

The following SVN revision numbers were found above:
  r12486 --> open-mpi/ompi@8746369338
2006-11-09 17:26:55 +00:00
George Bosilca
b53a313904 These functions dont have to be exported. The outside world
access them only via the pointer in the convertor structure.

This commit was SVN r12492.
2006-11-08 16:49:34 +00:00
George Bosilca
8746369338 This commit was supposed to go with the r12485.
This commit was SVN r12486.

The following SVN revision numbers were found above:
  r12485 --> open-mpi/ompi@b4e9199651
2006-11-08 06:21:15 +00:00
George Bosilca
b4e9199651 Minimize the impact on contiguous and predefined data-types. Most of the
usefull things are now done without the call to any external function,
directly in the macros in this file.
Create a new flag for the convertor to help figure out when we have
to do anything special for pack/unpack. A convertor with the flag
CONVERTOR_NO_OP is a basic convertor, designed for contiguous types.

This commit was SVN r12485.
2006-11-08 06:16:47 +00:00
George Bosilca
f81a599326 Don't do the safe guard for contiguous memory layouts.
This commit was SVN r12455.
2006-11-06 23:15:24 +00:00
George Bosilca
284e286011 Correctly compute the local size using the count argument not
the convertor count field which is not yet initialized.

This commit was SVN r12405.
2006-11-02 06:44:51 +00:00
George Bosilca
ea91fd3bdb Small optimizations and some cleanups.
This commit was SVN r12400.
2006-11-02 00:19:03 +00:00
George Bosilca
994bfce7e8 On heterogeneous environment check for the hetero mask before deciding if there is or not
anything to do for packing and unpacking of a particular data-type.

This commit was SVN r12399.
2006-11-01 23:57:37 +00:00
George Bosilca
d89a52f8e7 If there is no data to send or receive don't do anything useless.
This commit was SVN r12398.
2006-11-01 23:56:34 +00:00
George Bosilca
23e783a487 Initialize the length before using it.
This commit was SVN r12394.
2006-11-01 22:07:21 +00:00
George Bosilca
a711a58410 Add a function to handle the MPI_Status_set_elements correctly. The current
implementation was just wrong !!!

This commit was SVN r12380.
2006-10-31 23:02:42 +00:00
George Bosilca
126a68dc9a Big datatype commit. Remove all unused features of the datatype engine. As the memory
allocation logic is completely done outside the data-type engine (in the PML) there is
no need for any special case inside the data-type engine. There is less arguments for
the ompi_convertor_pack and ompi_convertor_unpack as well (the last field free_after is
not required anymore as there is no memory allocated in the engine itself). This change
affect all components using datatypes. I test most of them, but it might happens that I
miss some ... If it's the case please let me know (don't shoot the pianist!!).

This commit was SVN r12331.
2006-10-26 23:11:26 +00:00
George Bosilca
2d17f0fa9d First step on supporting full external32 conversion on both operations
pack and unpack.

This commit was SVN r12299.
2006-10-25 14:33:06 +00:00
George Bosilca
ccbe5ee016 Remove unused code.
This commit was SVN r12297.
2006-10-25 13:59:57 +00:00
George Bosilca
06563b5dec Last set of explicit conversions. We are now close to the zero warnings on
all platforms. The only exceptions (and I will not deal with them
anytime soon) are on Windows:
- the write functions which require the length to be an int when it's
  a size_t on all UNIX variants.
- all iovec manipulation functions where the iov_len is again an int
  when it's a size_t on most of the UNIXes.
As these only happens on Windows, so I think we're set for now :)

This commit was SVN r12215.
2006-10-20 03:57:44 +00:00
George Bosilca
f43d4fa4f2 Last set of datatype updates. Mostly function prototypes updates and
explicit casting.

This commit was SVN r12211.
2006-10-20 02:31:50 +00:00
George Bosilca
18d119bc06 No more warnings.
This commit was SVN r12181.
2006-10-18 21:10:11 +00:00
George Bosilca
c9da782804 Keep only one function to get the size of a datatype.
This commit was SVN r12170.
2006-10-18 17:33:01 +00:00
George Bosilca
8852c00c36 Look like a big commit but in fact it address only one issue. The way we're working with
size and diplacement of data-type. After this patch all data can contain size_t bytes
and the displacements are defined as ptrdiff_t. All of the files I was able to compile
have been modified to match this requirement.

This commit was SVN r12146.
2006-10-17 20:20:58 +00:00
George Bosilca
4689c56210 Always cast the return of malloc.
This commit was SVN r11990.
2006-10-05 05:07:43 +00:00
George Bosilca
bf1d4ee259 Cast to the uint64_t before playing with the << operator in order to make sure we keep
all usefull informations.

This commit was SVN r11986.
2006-10-04 23:58:59 +00:00
George Bosilca
9e4b64ce81 Cleaning up the file, removing useless asserts. Commenting all calls to
opal_output.

This commit was SVN r11985.
2006-10-04 23:57:05 +00:00
George Bosilca
54476382e6 Remove all useless asserts and correct one of the comments.
Correctly compute the length to be unpacked.
Protect all outputs (only on debug mode and only if mpi_ddt_unpack is set).

This commit was SVN r11984.
2006-10-04 23:56:10 +00:00
George Bosilca
66e039496d This is the minimal patch for #365 (BLACS problem). Correctly compute the displacement
of the elements when we unroll a loop.

This commit was SVN r11983.
2006-10-04 23:54:22 +00:00
George Bosilca
e9572c7aee Mea culpa ... that was an weird error. When playing with 64 bits types we have to
the constant before using the << operator ... otherwise everything is 32 bits ...
which does not give the right answer.

This commit was SVN r11972.
2006-10-04 16:23:51 +00:00
George Bosilca
d05f492901 With the lastest changes for heterogeneous environments we have to
compute the hetero flag a little bit different. The hetero flag is now
attached to a convertor if and only if we can use the optimized conversion
functions. It's a little bit broader than before (the 2 architectures
has to be identical).

This commit was SVN r11962.
2006-10-03 20:25:30 +00:00
George Bosilca
432659a2d8 Fix some typos.
This commit was SVN r11961.
2006-10-03 20:21:24 +00:00
George Bosilca
f4da7a80bd Fine grain selection for heterogeneous environments. The hetero version of the
conversion function are more complex and costly than a simple memcpy. Therefore,
we want to decrease as much as possible the usage of these functions.
We now check not only th HOMOGENEOUS flag on the datatype or convertor, but the
bits indicating a type is in use. If a communication transfert a type having the
same representation on both peers we can use the optimized version of the conversion.
In same time we build a more accurate conversion table for each master convertor,
based on the minimum differences between the 2 architectures.

This commit was SVN r11945.
2006-10-03 08:13:16 +00:00
George Bosilca
383c4e8c18 Don't print the optimized description if there is nothing.
This commit was SVN r11733.
2006-09-21 05:40:51 +00:00
George Bosilca
ee27c497f9 Allow duplication of MPI_LB and MPI_UB. A very usefull feature :)
This commit was SVN r11496.
2006-08-29 20:19:58 +00:00
George Bosilca
3f0a7cad9e The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.
This commit was SVN r11400.
2006-08-24 16:38:08 +00:00
George Bosilca
858dba5f13 These files are not usefull anymore.
This commit was SVN r11343.
2006-08-23 01:26:58 +00:00
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
George Bosilca
d34b51b8ec Correctly compute the gaps inside the datatype. They depend on the shape of the
final datatype not on the shape of the added datatype. The gaps exist if the
extent of the final datatype is not equal to its size.

This commit was SVN r10867.
2006-07-18 15:47:12 +00:00