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

86 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
8df200528d The END_LOOP structure change the name of one of it's fields.
This commit was SVN r8024.
2005-11-07 23:18:57 +00:00
George Bosilca
f7359e24d6 Add some macros in the begining of the file. They are not used right now, but they will be in few days.
Do not ignore the type and extent of the last optimized basic type in some special cases.

Update the last fake END_LOOpP with the correct value for the first_elem_disp field.

This commit was SVN r8023.
2005-11-07 23:17:00 +00:00
George Bosilca
53cb3c2bee Force the data name to the empty string when we call destroy.
This commit was SVN r8022.
2005-11-07 23:14:32 +00:00
George Bosilca
8799d1799a The shiny new pack and unpack functions. The big difference is that the displacement is
never stored on the stack. It is partially stored on the stack depending on the loops
but every time we pack/unpack a basic datatype we take in account again it's displacement.
This approach make the whole logic a lot simpler. In same time I split the big functions
in several basic block.

This commit was SVN r8021.
2005-11-07 23:13:04 +00:00
George Bosilca
334ca349fe Several bug fixes:
- if the alignment of wchar is zero then wchar_t is not supported by the OS. We skip it.
- Now that the definition of end_loop change compute the first_elem_description for all
  predefined datatypes.
- In debug mode print a list of the datatypes that are not supported by the current
   architecture.

This commit was SVN r8020.
2005-11-07 23:10:33 +00:00
George Bosilca
84a89d68dc When we advance the convertor by a multiple of the data size there is a quick optimization.
We can compute the number of complete datatype that we will advance, update the stack and
then compute the new position taking in acount only the remaining bytes.

This commit was SVN r8019.
2005-11-07 23:00:28 +00:00
George Bosilca
288cdaf302 This is the way to compute the position for a convertor under the new rules.
This file is now yet activated. It will became the default after the next
commit.  (checkpoint to start testing on other clusters)

This commit was SVN r8006.
2005-11-07 09:00:52 +00:00
George Bosilca
c1b713c56e Make a compiler happy about casting.
This commit was SVN r8005.
2005-11-07 04:59:46 +00:00
George Bosilca
7b7aaf897c Do not add epsilon to the data extent if there is a user set UB for the data.
This commit was SVN r8004.
2005-11-07 04:04:20 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Jeff Squyres
7bdfe6557b - Update the checks in REDUCE, ALLREDUCE, SCAN, EXSCAN, and
REDUCE_SCATTER to more thoroughly check the datatype/op combination
  to see if it's valid or not.  If it's not, print a meaningful error
  message rather than "Invalid MPI_Op" indicating what specifically
  was wrong (therefore hopefully helping users track down where in the
  code the problem is, and/or telling us that there's a reduction
  operation combo that we don't support that we should)
- The check for whether a datatype is intrinsic needed to be updated
  -- it's not sufficient to check that dtype->id < DT_MAX_PREDEFINED;
  you really need to check the PREDEFINED flag on the datatype.
  Thanks to George for this fix (only intrinsics have a meaningful
  value in dtype->id).

This commit was SVN r7923.
2005-10-28 16:47:32 +00:00
George Bosilca
ab97bde177 Rainer pointer out that the convertor already have the CONTIGUOUS flag is the
data is contiguous (set in ompi_convertor_prepare).
For unpack reinforce the limits of the pack for contiguous types.

This commit was SVN r7914.
2005-10-28 05:27:40 +00:00
George Bosilca
5355765d81 Cleanup has to reset the stack position.
This commit was SVN r7913.
2005-10-28 05:25:08 +00:00
Jeff Squyres
a9f04c7573 Only do the extra va_* stuff if we're compiling with the compiler that
cares about it (PGI).

This commit was SVN r7860.
2005-10-25 13:08:52 +00:00
Rainer Keller
d6120d32d6 - Only minor white-space changes, to clean up
This commit was SVN r7843.
2005-10-24 10:36:16 +00:00
George Bosilca
b45651988b Protect against elements with ZERO length.
Remove all the useless code.

This commit was SVN r7827.
2005-10-21 06:48:51 +00:00
George Bosilca
1fb8ec646a Add the homogeneous flag back in the convertor.
Correct/improve one of the comments.
Descrease the amount of memory required for the stack.

This commit was SVN r7826.
2005-10-21 06:47:57 +00:00
George Bosilca
63c5013fe6 After a OBJ_DESTRUCT a convertor has to be in a usable state. Read the comment for more informations.
This commit was SVN r7812.
2005-10-19 20:51:52 +00:00
George Bosilca
8987bcabe2 Remove the memcpy we can do it as we parse the datatypes in order to increase their references.
This commit was SVN r7811.
2005-10-19 20:51:11 +00:00
George Bosilca
6c6f17628f Remove a double OMPI_DECLSPEC from the definition of one of the predefined data-types.
This commit was SVN r7810.
2005-10-19 20:50:25 +00:00
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
George Bosilca
6e3c23ec3b Do not allow the use of the optimized path for predefined non contiguous datatypes (like MPI_SHORT_INT on most of the architectures).
This commit was SVN r7776.
2005-10-16 19:41:40 +00:00
Jeff Squyres
e097ee635a Silence compiler warnings.
This commit was SVN r7768.
2005-10-14 22:06:25 +00:00
George Bosilca
cb7b401ca8 Correct the send-recv operation.
This commit was SVN r7709.
2005-10-11 22:41:08 +00:00
George Bosilca
967cd1be32 Make the datatype compile on solaris.
Remove some warnings ...

This commit was SVN r7619.
2005-10-04 15:45:18 +00:00
George Bosilca
9a67831ba3 Alway call the memory allocation function with the correct type for the first argument. The problem is
that on some OSes the iovec struct is not POSIX complian, the iov_len is not a size_t but simply an int.
This patch, add a local variable (type size_t) to use with the memory allocation function, and then put
back the value in the iov_len field.

This commit was SVN r7615.
2005-10-04 14:44:59 +00:00
George Bosilca
059c802094 Correct a small typo
This commit was SVN r7614.
2005-10-04 14:42:37 +00:00
Jeff Squyres
d4b7618db7 Comment out what seems to be a debugging output. Will confirm with
George.

This commit was SVN r7544.
2005-09-29 16:39:27 +00:00
George Bosilca
a7db1763e2 Cleanups ...
This commit was SVN r7420.
2005-09-18 12:34:29 +00:00
George Bosilca
ec621c2145 That was a bad*bad typo. To compute the flags I have to use & not |.
In the case where the user want to roll-back a convertor we should first rewind the
convertor to the beginning and then move it to the requested position. Otherwise the
logic do roll-back a convertor in an optimized way is really difficult. BTW, in terms of
performances one would prefer to have 2 convertors and play with position inside, than
just having one and roll it back.

This commit was SVN r7378.
2005-09-14 23:32:18 +00:00
George Bosilca
fdfd966aad On the last position on the conversion stack in the displacement field we should have the
relative displacement not the absolute one. This relative displacement will be addesd to the
absolute one in order to compute the correct position on the source (or destination) buffer.

This commit was SVN r7377.
2005-09-14 23:29:27 +00:00
Tim Woodall
c25fb5dab0 - fixed issue w/ btl send-in-place option that was affecting tcp
- reduced size of match header by an additional 4 bytes to 16 bytes
- corrections for buffered send (work in progress)

This commit was SVN r7371.
2005-09-14 17:08:08 +00:00
George Bosilca
3e35dbee30 Add a helper function to find out if a couple datatype & count represent a contiguous
memory layout.

This commit was SVN r7357.
2005-09-13 21:59:34 +00:00
George Bosilca
a5871ffc23 Report back the correct position when the caller use ompi_convertor_set_position. That should
fix Tim's problems.

This commit was SVN r7353.
2005-09-13 20:29:50 +00:00
George Bosilca
5b1303edef Correctly handle the convertor flags.
This commit was SVN r7298.
2005-09-11 18:51:47 +00:00
George Bosilca
6b2d154df3 Add more debug messages to the pack and unpack functions.
This commit was SVN r7297.
2005-09-11 18:51:06 +00:00
George Bosilca
95497b156e Cleanup the flags when we clone or copy a convertor. Add safety checks for the set_position function.
This commit was SVN r7296.
2005-09-11 18:49:46 +00:00
George Bosilca
df26395a83 Add some mask to cleanup the convertor flags.
This commit was SVN r7295.
2005-09-11 18:48:50 +00:00
George Bosilca
41c2dc6a79 Call the new unpack function from the new_unpack.c
The cleanup of the pack/unpack framework will follow shortly.

This commit was SVN r7286.
2005-09-09 23:38:31 +00:00
George Bosilca
35676f0c75 Do not forget to update the max_data before returning to the upper level.
This commit was SVN r7285.
2005-09-09 23:37:44 +00:00
George Bosilca
06d9c594ef A new unpack framework based on the pack. Quicker and simpler and hopefully less
error prone.

This commit was SVN r7284.
2005-09-09 23:37:02 +00:00
George Bosilca
778468a5b6 Add comment about how to compile these 2 tests.
This commit was SVN r7248.
2005-09-09 06:17:19 +00:00
George Bosilca
b2bb2393fc Remove all useless debug stuff.
This commit was SVN r7247.
2005-09-09 06:16:44 +00:00
George Bosilca
63fb0f3341 Correct the eager problem for some devices. The bug was because we stop packing too early, not on the
data where I have to start the next time, but on the place where I detect there is no more space in the
iovecs. That lead to a wrong computation of the displacement on the next call to pack.

Additionally, I change some macros on statis inline functions. They allow me to go inside step by step
with a debugger. They will go back to macros one I'm 100% sure they cannot generate any more errors.

This commit was SVN r7246.
2005-09-09 06:07:37 +00:00
George Bosilca
8280ce8f6d A new flag has been added. To detect when the convertor has finish its work a complex condition
was computed. This informations can be updated on the convertor flag by the pack/unpack function,
making the test a lot simpler. The pack/unpack functions will be modified soon.

This commit was SVN r7245.
2005-09-09 06:04:29 +00:00
George Bosilca
3693816d08 Update the old datatype test and add a new one based on the test Tim wrote.
This commit was SVN r7244.
2005-09-09 06:01:59 +00:00
George Bosilca
d27f17f406 Solve the reference count problem. As the MPI functions always use the ompi_ddt_set_args
and ompi_ddt_release_args functions, increase the reference count for the used datatypes here
not in the dt_add.c. Tus, we have a correct reference count for all data-type independing if
the datatypes are used in MPI or directly in others modules.

This commit was SVN r7225.
2005-09-07 20:10:24 +00:00
George Bosilca
f0b4553757 Correctly set the include for the ddt_test.
This commit was SVN r7217.
2005-09-07 17:05:29 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
George Bosilca
0eabdd9498 The correct way to detect if a contiguous datatpe has gaps around (in the begining or at the
end) is to check the size and the extent (not the true extent).
If there are gaps we should adapt the source and the destination to match these gaps
(especially if the gaps are in the begining).

This commit was SVN r7060.
2005-08-26 22:41:04 +00:00