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

76 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Squyres
c2387ca74e Fix incorrect declaration (wrong name)
This commit was SVN r7001.
2005-08-24 10:48:07 +00:00
Jeff Squyres
e256cdc59b Fix function declaration types and functions (verified by looking at
the functions -- they return things like OMPI_SUCCESS).

This commit was SVN r6981.
2005-08-23 12:36:32 +00:00
Rainer Keller
145cb07562 - Helpful debug code by George.
This commit was SVN r6934.
2005-08-19 10:39:34 +00:00
Jeff Squyres
cf16a521c8 Ensure to get ompi/include/constants.h
This commit was SVN r6845.
2005-08-12 21:42:07 +00:00
George Bosilca
ea0cf322f3 Taking care of the source pointer.
This commit was SVN r6691.
2005-08-01 17:09:46 +00:00
George Bosilca
8e1f169ffd When we copy a convertor we should copy it's flags too. Otherwise the informations inside will
not match the flags (uninitialized).

This commit was SVN r6681.
2005-07-29 00:17:02 +00:00
George Bosilca
10d95144b6 Add a global local architecture. It is required by the proc.c file as all new procs by default
have the same architecture as the current one.

This commit was SVN r6678.
2005-07-29 00:12:33 +00:00
George Bosilca
4304115e0a Activate the assert as now the ddt engine handle correctly the ref count on the datatypes.
This commit was SVN r6502.
2005-07-14 22:02:43 +00:00
George Bosilca
1dfbd0e296 For contiguous datatype set the type in the stack and compute the displacement depending
on the basic type where we have to start.

This commit was SVN r6497.
2005-07-14 19:27:58 +00:00
Tim Woodall
76e287a29a George - the change you made breaks the btls - as they
think the data is contiguous - and the convertor routine
you've changed this to doesn't support returning the correct
offset into the user buffer when a NULL address is provided
in the iovec array

This commit was SVN r6496.
2005-07-14 19:21:07 +00:00