1
1

283 Коммитов

Автор SHA1 Сообщение Дата
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
George Bosilca
5666bece6a Don't update the base pointer when we finish unpacking a partial data.
This commit was SVN r10710.
2006-07-11 00:22:58 +00:00
George Bosilca
f27591444a Remove one of the internal variable to make things more clear and more
similar with the other pack/unpack functions.

This commit was SVN r10455.
2006-06-21 14:49:41 +00:00
George Bosilca
710a49ce79 Correctly update the flags when we build data-types. Play nicely with the NO_GAP flag.
This commit was SVN r10454.
2006-06-21 14:46:10 +00:00
George Bosilca
820f103cd9 Remove one of the optimizations, as it lead to non correct data description.
This commit was SVN r10450.
2006-06-21 14:06:52 +00:00
George Bosilca
382a0209f7 Correctly play with the flags. Ported from the 1.1 branch.
This commit was SVN r10449.
2006-06-21 14:05:09 +00:00
George Bosilca
70e60a05b7 Cleanups ...
This commit was SVN r10437.
2006-06-20 15:59:29 +00:00
George Bosilca
9b46e1effd Allow the personalize function to be used only to set the flags. If the
position pointer is NULL, then the function will not try to set the convertor
position.

This commit was SVN r10436.
2006-06-20 15:58:57 +00:00
George Bosilca
95460ae41f Temporary commit for Galen. Remove the #if 0 and you will be able to have
a double check on the checksum: once on the sparse layout and a second
time directly on the packed buffer.

This commit was SVN r10433.
2006-06-20 14:37:53 +00:00
George Bosilca
bdcaf146cc Pretty print the datatype information (more condensed).
This commit was SVN r10409.
2006-06-17 20:30:57 +00:00
George Bosilca
b47ffcd9d8 Avoid updating the last position on the stack.
This commit was SVN r10408.
2006-06-17 20:29:51 +00:00
George Bosilca
4ff8c354c6 Advance the position when we reach the DT_END_LOOP marker. When compute the
displacement use the count of the number of items we skip.

This commit was SVN r10385.
2006-06-16 03:03:34 +00:00
George Bosilca
d7e5683a45 Keep the += by now. The only checksum that we have require it.
This commit was SVN r10384.
2006-06-16 03:01:16 +00:00
George Bosilca
9cc931b155 This comment is not valid anymore.
This commit was SVN r10383.
2006-06-16 03:00:43 +00:00
George Bosilca
3219b917b9 Generate more optimal internal data representations.
This commit was SVN r10382.
2006-06-16 03:00:20 +00:00
George Bosilca
213de1dd18 Change the name of one of the datatype parameters to match all the others.
This commit was SVN r10368.
2006-06-15 03:28:23 +00:00
George Bosilca
7608261c8a Do not sum the checksum. Instead use the intermediary values in order to
correctly compute the final checksum. This is not a bug in the case where
both the sender and the receiver execute EXACTLY the same checksum
computations but is definitively a problem if not (such as the buffered case).

This commit was SVN r10367.
2006-06-15 03:27:37 +00:00
George Bosilca
0c709e3f53 Do not unpack outside the legal boundaries of the data even if the specified
iov_len is larger than the amount of missing data.

This commit was SVN r10366.
2006-06-15 03:24:19 +00:00
George Bosilca
4782793eb6 Correctly unpack the partial data, taken in account the displacement
of the data. It's quite costly, but it's the simplest way to make data
reliability.

This commit was SVN r10347.
2006-06-14 03:18:56 +00:00
George Bosilca
24099edb38 Make sure the partial_length has the expected value.
This commit was SVN r10346.
2006-06-14 03:17:32 +00:00
George Bosilca
f648f0bb51 If the convertor have the checksum flag don't try to be nice and optimize.
Just do it in a way that will allow the checksum computation in all the cases.

This commit was SVN r10336.
2006-06-13 19:24:29 +00:00
George Bosilca
d077b73d0b Compute the checksum only on the new part of the buffer.
This commit was SVN r10335.
2006-06-13 19:23:38 +00:00
George Bosilca
88a363fe34 Several changes:
- add more comments on the pack and unpack functions.
- remove all pack/unpack versions that are not used anymore.
- other various cleanups.
- update the safeguard macro (which compute theboundaries of the
  datatype in order to protect us from accessing memory locations
  outside of the data).
- for the contiguous (with or without gaps) pack and unpack correctly
  compute the starting point.

This commit was SVN r10327.
2006-06-13 07:23:43 +00:00
George Bosilca
3fb5dafdb3 Print the fake DT_END_LOOP entry at the end of the datatype when we
dump the datatype.

This commit was SVN r10326.
2006-06-13 07:15:24 +00:00
George Bosilca
c5c0bc39d8 By default a convertor is initialized for local operations. It means
that the remote architecture will be set to the local one.

This commit was SVN r10325.
2006-06-13 07:13:51 +00:00
George Bosilca
1ee23b4195 resize does not have to change the true_lb and true_ub. It only affect
the lb and ub.

This commit was SVN r10324.
2006-06-13 07:12:50 +00:00
George Bosilca
00e611784b For contiguous and contiguous with gaps types we should take in account the true_lb
when we pack/unpack.

This commit was SVN r10308.
2006-06-12 16:53:23 +00:00
George Bosilca
3c42cf1d55 Correctly compute the location of the dt_args pointers.
This commit was SVN r10296.
2006-06-11 20:40:32 +00:00
George Bosilca
95dd1b173a Consitent behavior for all implementations of pack/unpack. The initial
lower_bound is now directly added to the user pointer when the convertor
is created, instead of having to add it all over the places inside the
pack/unpack functions.

This commit was SVN r10292.
2006-06-11 19:56:25 +00:00